[工具]vim的使用
vim
基本设置
缩进
tab设置为4个空格 https://blog.csdn.net/jiang1013nan/article/details/6298727
#TAB替换为空格
:set ts=4
:set expandtab
:%retab!
#空格替换为TAB
:set ts=4
:set noexpandtab
:%retab!
#加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB。
ESC + V 进入VISUAL模式,选择好需要操作的区域,YY复制,P粘贴,X剪切
批量缩进,修改缩进的空格个数
https://blog.csdn.net/wto882dim/article/details/78715234
set shiftwidth=4 "这个量是每行的缩进深度,一般设置成和tabstop一样的宽度"
set tabstop=4 "设置Tab显示的宽度,Python建议设置成4"
"刚才说过Tab和空格是不同的,虽然你可以在自己的代码中全部使用Tab"
"但是如果你将你的代码分享给使用空格的朋友,就会带来很多麻烦"
"那么设置下面这行就可以将Tab自动展开成为空格"
set expandtab
"如果只想在Python文件中将Tab展开成空格,就改换成下面这句"
autocmd FileType python set expandtab
"上面的一些配置已经可以让你避免编译出现错误的问题了"
"不过下面还有一些配置是建议同学们根据需要加上的"
set smartindent "智能缩进"
set cindent "C语言风格缩进"
set autoindent "自动缩进"
显示行号
:set number
查找 搜索
-
从上往下搜 (字母n是下一个,#是上一个)
/pattern
-
从下往上搜
?pattern
-
统计出现次数
:%s/XXX//ng
-
关闭当前的搜索高亮显示
:set nohlsearch
调整窗口大小
- 当terminal的大小改变时,vim里各个子窗口的大小没有自适应地调整
- 依次按下
+ <=>来调整
- 依次按下
复制粘贴
-
复制粘贴
yy #复制一行 :,y2 #从当前行开始复制两行 :12, 14y #复制第12~14行 p #粘贴
删除
-
删除
dd #删除当前一行
插入
-
插入
o #esc之后按o 插入空行 并自动进入insert模式
批量替换
:%s/XXX/YYY/g #全局替换,XXX为要替换的字符,YYY为替换后的字符
:s/XXX/YYY/gXXX #当前行替换
:3,10s/XXX/YYY/gc #替换从第3行到第10行的区域,在后面加c则每次替换前都检查
:s/XXX/YYY/g #按V进入VISUAL模式,再对指定部分进行替换
#替换字符串中的 '/', 用 '\' 转义
跳转
gg #跳转到文件开头
shift+g #跳转到文件结尾
划分窗口
#vim打开文件,在命令行模式下
:vsp #水平划分
:sp #垂直划分
:e filename #打开某文件
只读方式打开文件
#避免只是为了看代码结果手残按到什么改掉了。
#从命令行打开
vi -R filename
#从vim内部的命令行模式打开
:view path/to/file
查看不可见字符
:set list #可用于看换行符是LF(linux)还是CRLF(win),如果是LF,则显示$;否则显示^M
插件配置
github下载vim的插件管理工具 Vundle
YouCompleteMe 补全插件
NERDTree 显示文件树状目录
indentLine 显示缩进对齐线
vim-powerline 显示丰富的状态栏信息
delimitMate 自动补全符号(比如打左括号自动补全右括号、左引号自动补全右引号)