vim
1. 设置
在~/.vimrc中"是注释,在.sh文件中#是注释
syntax on " 设置语法高亮
set tabstop=4 " 设置tab缩进4个空格
set softtabstop=4 " 在编辑模式下,按退格键的时候退回缩进的长度
set shiftwidth=4 " 每一级缩进的长度(用shift+>或shift+<时移动的宽度为4)
set expandtab " expandtab表示缩进用空格来表示,noexpandtab表示缩进用制表符表示
set number " 设置显示行号
set autoindent " 设置自动缩进
set cursorline " 突出显示当前行
set nocompatible " 去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限(比如退格键不能删除)
set ruler " 设置标尺,右下角位置显示
set cursorcolumn " 突出显示当前列
set showmatch " 高亮显示匹配的括号
2. 快捷键
# 移动类
w # 到下一个单词的开头
e # 到下一个单词的结尾
ctrl+u # 向文件首翻半屏
ctrl+d # 向文件尾翻半屏
ctrl+f # 向文件尾翻一屏
ctrl+b # 向文件首翻一屏
# 编辑
nx # 删除光标后的n个字符
nX # 删除光标前的n个字符
cc # 删除当前行后进入insert模式
dw # 删除当前光标下的单词或者空格
d$ # 删除光标至行尾所有字符
d^ # 删除光标至行首所有字符
dG # 删除光标至文件尾所有字符
ddp # 交换当前光标所在行和下一行的位置
guu # 把当前行的字母全部转换成小写
gUU # 把当前行的字母全部转换成大写
g~~ # 把当前行的字母大写转换成小写,小写转换成大写
:10,31s/YouMeek/Judasn/g # 把第 10 行到 31 行之间所有 YouMeek 替换为 Judasn
3. 设置F5一键运行bash或者python
" F5 to run sh/python3
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'sh'
:!time bash %
elseif &filetype == 'python'
exec "!time python3 %"
endif
endfunc
4. 分屏
vim -o[n] file1 [file2 ...] # 打开文件并且分屏(水平分屏)
vim -O[n] file1 [file2 ...] # 打开文件并且分屏(垂直分屏)
ctrl+w+hjkl # 在分屏之间切换
ctrl+w+c # 关闭当前分屏
:only # 关闭分屏外的其他分屏
:vs [file2] # 新建垂直分屏
:sv [file2] # 新建水平分屏
5. vim美化
"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
set nocompatible
"显示行号
set number
"检测文件的类型
filetype on
"记录历史的行数
set history=1000
"背景使用黑色
set background=dark
"语法高亮度显示
syntax on
"下面两行在进行编写代码时,在格式对起上很有用;
"第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;
"第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编
"写上很有用
set autoindent
set smartindent
"第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set tabstop=4
set shiftwidth=4
"设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
set showmatch
"去除vim的GUI版本中的toolbar
set guioptions=T
"当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
set vb t_vb=
"在编辑过程中,在右下角显示光标位置的状态行
set ruler
"默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
set nohls
"查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
"个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
"次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
"时,别忘记回车
set incsearch
"修改一个文件后,自动进行备份,备份的文件名为原文件名加"~"后缀
if has("vms") "注意双引号要用半角的引号
set nobackup
else
set backup
endif
6.安装vim-plug插件
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# Plug后面跟插件
call plug#begin()
Plug 'preservim/NERDTree'
call plug#end()
# 安装插件
:PlugInstall
# 插件更新
:PlugUpdate
# 更新指定插件
:PlugUpdate NERDTree
# Vim-plug 有这个命令来生成一个脚本来恢复所有当前的插件:
:PlugSnapshot ~/vim-plug.list
# 清理插件
:PlugClean