vim小结

1 vim

zi 展开和折叠代码
批量在所有行添加字符 control + v选中所有行,大写I
ctrl+双w:左右界面切换;
/+字符串:在此文件搜索字符串匹配
shift+v:全选行;
shift+v,上下键:选多行
shift+j 合并多行为一行
y:复制
p:粘贴
dd:删除行

2 vim版本

一些操作系统版本比较低,而安装插件需要依赖比较高的vim版本,比如查看目录结构的scrooloose/nerdtree, 需要保证vim版本大于7.3.
可以直接下载最新的vim分支,直接编译出新版本二进制,然后放到环境变量

git clone git@github.com:vim/vim.git
cd vim
//make distclean # if you build Vim before
make -j 10
sudo make install
cp src/vim /usr/bin

3. vim常用插件

‘VundleVim/Vundle.vim’ 插件管理结构,可以完成所有插件的增加、删除以及更新等操作,有点像插件的应用商店
‘vim-scripts/taglist.vim’ "source code browser
‘majutsushi/tagbar’ "tag generation and navigation
‘scrooloose/syntastic’
‘Valloric/YouCompleteMe’ "强大的代码补全工具
‘Chilledheart/YouCompleteMe’
‘Lokaltog/vim-powerline’ "powerline,在vim下面显示一些常用信息,比如当前行,时间等等
‘scrooloose/nerdcommenter’ "添加/删除注释
‘derekwyatt/vim-fswitch’ "switch between *.h and *.cpp
‘ntpeters/vim-better-whitespace’ "detect the whitespace and delete
omnicppcomplete 下载网址

omnicppcomplete: 基于ctag的代码不全工具,比YouCompleteMe效果查,但是很轻量。注意:omnicppcomplete显示"pattern not found",这是因为ctags生成需要参数,按照如下命令:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ./

主题相关:
‘tomasr/molokai’
‘altercation/solarized’

插件安装多了,可能导致一些快捷键冲突,可以用如下命令检测

// 查看谁绑定了tab键
 :verbose imap <tab>

4. vim支持python

默认vim是不支持python,
vim --version | grep python
如果看到python前面有—标记,需要下载源码重新安装vim

(1) python安装

安装命令都比较简单:

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -zxvf Python-3.8.0.tgz
cd Python-3.8.0
./configure --prefix=/usr/lib/python3.8 --enable-shared
sudo make && sudo make install

Note:

  1. 一些版本默认只生成静态库,–enable-shared生成动态库
  2. 过程中可能提示一些依赖缺失,比如压缩zlib, yum -y install zlib*,按需安装即可

(2) vim安装

Github下载源代码:

./configure \
--enable-multibyte \
--enable-python3interp=dynamic  \
--enable-cscope \
--enable-gui=auto \
--with-features=huge \
--with-x \
--enable-fontset \
--enable-largefile \
--disable-netbeans \
--with-compiledby=sh1r0 \
--enable-fail-if-missing

sudo make && sudo make install

// 清理命令
sudo make distclean
sudo make uninstall

Note:

  1. –enable-python3interp=dynamic表示动态依赖python3, 也可以–enable-pythoninterp=yes
  2. 加入python, --enable-pythoninterp=dynamic

验证安装成功:
vim --version | grep python
可以看到+python
同时打开vim:

// 可以打印版本
:python import sys; print(sys.version)
:python3 import sys; print(sys.version)
--with-features=huge:			//支持最大特性
--enable-rubyinterp:			//打开对ruby编写的插件的支持
--enable-luainterp:			//打开对lua编写的插件的支持
--enable-perlinterp:		    //打开对perl编写的插件的支持
--enable-multibyte:			//打开多字节支持,可以在Vim中输入中文
--enable-cscope:			    //打开对cscope的支持
--enable-pythoninterp:			//打开对python编写的插件的支持
--enable-python3interp:		//打开对python3编写的插件的支持
--prefix=/usr/local/vim81		//指定安装路径,可自定义。	

5. vim代码补全

YouCompleteMe 功能强大,具有代码补全以及IDE常用功能,不过安装繁琐。可以借助于clang/cangd本身做代码补全和基本的语法检测,提升编码效率

(1) clang_complete

clang_complete,需要安装LLVM,安装配置即可

(2) vim-clang

相比clang_complete更轻量,补全速度快

clangd

(3) vim创建c++模版

cd ~/.vim/
mkdir templates && cd templates
vim c++tem.cpp // 写入模版
vim c++tem.h   // 写入模版

vim  ~/.vimrc
// 添加
:autocmd BufNewFile *.cpp 0r ~/.vim/templates/c++tem.h
:autocmd BufNewFile *.cpp 0r ~/.vim/templates/c++tem.cpp

6. vim粘贴模式

vim有一个 Paste 模式,在该模式下,可将文本保持原样粘贴到 Vim 中,以避免一些格式错误,比如行不对齐
在 vim 中输入命令:

# 设置 粘贴模式
:set paste

# 取消 粘贴模式
:set nopaste
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值