我通过apt-get安装了clang-format-3.8
。
现在我尝试在gVim中使用它,但它不起作用。
我检查并且文件夹/usr/share/vim/addons/syntax
中存在clang-format-3.8。
但是当我在我的vim命令行中输入:pyf /usr/share/vim/addons/syntax/clang-format-3.8.py
时,它会返回:
E319: Sorry, the command is not available in this version
。
我在Ubuntu 16.04下使用gVim 7.4。
答案 0 :(得分:12)
Dahn的回答是正确的,Ubuntu 16.04附带的Vim二进制文件是用Python 3而不是Python 2编译的.Ubuntu 16.04 module.exports = {
// the main entry of our app
entry: ['./src/index.js', './src/auth/index.js'],
// output configuration
output: {
path: __dirname + '/build/',
publicPath: 'build/',
filename: 'build.js'
},
module: {
loaders: [
// process *.vue files using vue-loader
{test: /\.vue$/, loader: 'vue'},
// process *.js files using babel-loader
// the exclude pattern is important so that we don't
// apply babel transform to all the dependencies!
{test: /\.js$/, loader: 'babel', exclude: /node_modules/}
]
},
devServer: {
headers: {"Access-Control-Allow-Origin": "*"}
},
babel: {
presets: ['es2015'],
plugins: ['transform-runtime']
}
}
包中的clang-format-3.8.py
脚本不兼容用Python 3。
但最新的clang-format-3.8
确实可以使用Python 3.您可以在此处获取:
https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format.py
我认为这只是围绕clang-format.py
陈述括起来的问题。
将此文件保存在计算机上的某个位置,例如print
。
此脚本使用/usr/local/share/vim/addons/syntax/
作为二进制名称,因此您需要安装clang-format
程序包,该程序包将clang-format
命令作为符号链接安装到clang-format
}。
由于Vim现在正在加载Python 3脚本,请将clang-format-3.8
(不可用)命令替换为:pyf
:
:py3f
答案 1 :(得分:4)
Ubuntu 16.04附带的Vim二进制文件是用Python 3编译的.cngng格式的vim插件由Python 2编写。
您需要:
Google可以找到使用Python构建vim的说明。
答案 2 :(得分:2)
我使用bash
和vim
命令的组合以不同方式解决了问题。
首先,我安装了clang-format
包
# apt-get install clang-format-3.5
(我选择版本3.5,但你可以选择不同的版本)
其次,测试clang-format
是否正常工作
$ clang-format-3.5 -style=Google test.cpp
然后,运行vim
$ vim test.cpp
vim
允许运行外部命令并将其输出打印到当前缓冲区
:r ! clang-format-3.5 -style=Google %
(有关vim https://www.linux.com/learn/vim-tips-working-external-commands中的外部命令的详细信息)
这会将clang-format
的输出附加到当前缓冲区。要替换当前缓冲区,这是理想的效果,请指定要输出到
:%! clang-format-3.5 -style=Google %
(第一个%
表示当前文件中的所有行)
通过在视觉和命令行模式下在vim中定义新命令(使用command
),可以提高此过程的效率。
答案 3 :(得分:1)
除了上述答案外,我还要做其他一些事情。我下载了一个新的python文件,并将clang python文件中推荐的键映射更改为.vimrc中的以下内容:
map <C-I> :py3file <path-to-this-file>/clang-format.py<cr>
imap <C-I> <c-o>:py3file <path-to-this-file>/clang-format.py<cr>
这解决了我遇到的E319问题。