一、常用命令
安装vim8:
https://blog.csdn.net/nzyalj/article/details/75331822
多行编辑:
首先ctrl - v,进入:
(1)添加。选中,按A,输入,ESC退出。
(2)删除。选中,按A,按d。
1.1 vim使用鼠标
命令:set mouse=a
,或者在.vimrc
中添加set mouse=a
1.2 vim显示行号
命令:set number
取消行号:set nonumber
1.3 粘贴模式
命令:set paste
1.4 查找/替换
查找单词word : /word
替换:
:s/vivian/sky/ # 替换 当前行 第一个 vivian 为 sky
:s/vivian/sky/g # 替换 当前行 所有的 vivian 为 sky
:n,$s/vivian/sky/ # 替换 第n行 到 最后一行 中 每一行 第一个 vivian 为 sky (若 n 为 .,表示从 当前行 到 最后一行)
:n,$s/vivian/sky/g # 替换 第n行 到 最后一行 中 每一行 所有的 vivian 为 sky (若 n 为 .,表示从 当前行 到 最后一行)
:5,15s/dog/cat/ # 替换 第5行 到 第15行 中 每一行 第一个 dog 为 cat
:5,15s/dog/cat/g # 替换 第5行 到 第15行 中 每一行 所有的 dog 为 cat
替换^V^M
:
cat filename1 | tr -d "^V^M" > newfile;
sed -e "s/^V^M//" filename > outputfilename
# 需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。
%s/^V^M// # 在vim中处理
1.5 文件编码
:set invlist # 即可以将不可见的字符显示出来
:set nolist # 可以回到正常的模式
:set fileencoding # 查看文件编码
:set fileencoding=utf-8 # 设置文件编码为utf-8
使用iconv
命令行
iconv -f 现在的编码 -t 要转换的编码 文件
# 执行之后只是输出经过转换的文本而已,要保存的话
iconv -f 现在的编码 -t 要转换的编码 文件 -o 目标文件
# 或者
iconv -f 现在的编码 -t 要转换的编码 文件 > 目标文件
iconv -f utf8 -t gb18030
去掉utf8 的bom
sed -i 's/^\xEF\xBB\xBF//g' test.txt
二、其他
2.1 常用快捷键
0 行首
$ 行尾
G 文档尾部
g 文档首部
参考:
http://www.cnblogs.com/sld666666/archive/2010/04/05/1704462.html
2.2 高亮
搜索高亮:/单词
取消高亮::nohl
2.3 多行编辑
首先ctrl - v
,进入:
(1)添加。选中,按A
,输入,在输入的时候,只有第一行会显示,不用担心,按ESC
退出,每行都会有。
(2)删除。选中,按A
,按d
。
参考:
https://www.jianshu.com/p/50d5b6cfd73b
https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/index.html
2.4 复制、粘贴
在 VISUAL 模式下:
使用,set mouse=a
使用鼠标,同时选中字符则自动进入 VISUAL 模式。
复制:y
,粘贴:p
其他
较全:https://www.jianshu.com/p/297802d16fb4?from=timeline&isappinstalled=0
https://www.cnblogs.com/linxiyue/p/7834817.html
插件:https://www.jianshu.com/p/297802d16fb4?from=timeline&isappinstalled=0
安装Vundle(插件管理):https://juejin.im/post/5a38c37f6fb9a0450909a151
PluginList - PluginInstall
python补全: https://github.com/davidhalter/jedi-vim
nerdtree: https://www.jianshu.com/p/3066b3191cb1
必备10插件: https://www.cnblogs.com/shanql/p/6048412.html
vim-airline: https://github.com/vim-airline/vim-airline
vim的退格键失效问题:https://www.smslit.top/2016/11/27/vim-backspace-invalid/
源代码跳转(未):https://blog.csdn.net/wuchunlai_2012/article/details/50686012
代码自动格式化(autopep8):https://github.com/tell-k/vim-autopep8
不可见字符:
:set invlist,(^I:tab,$:回车符)
自己定义不可见字符的显示方式:
:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list
最后,:set nolist可以回到正常的模式。
插入模式下:单词跳转:Shift + (左/右)
滚动、page-上下:ctrl+e/y、f/b
git clone --recursive 'https://github.com/scrooloose/nerdtree.git' '/home/guangbin.lgb/.vim/bundle/nerdtree'
在同一个文件中,快速定位到函数定义部分快捷方式为:gd,返回:ctrl+o
vim打开在上一个关闭的地方