Vim基础
Vim基础操作
-
进入插入模式:i光标当前插入,a当前光标后插入,o向下增加一行插入,I行首插入,A行尾插入,O向上插入一行插入;
-
插入模式下:
- ctrl+h 删除一个字符
- ctrl+w删除一个单词
- ctrl+u删除到行首
-
normal模式下:
- ctrl+e向上一次滚动一行
- ctrl+f向下翻页
- ctrl+b向上翻页
- ctrl+d向下翻半页
- ctrl+u向上翻半页
-
k/j/l/l上下左右键;
-
ctrl+[或ctrl+c相当于按esc键;
-
gi快速返回到上次编辑位置;
-
w/W下个单词开头;
-
e/E下个单词结尾;
-
b/B上个单词开头;
-
关于word/WORD:不以/以空格为分割的单词;
-
f+一个字符:跳转该行到第一个匹配的字符,按,跳转到上个匹配字符,按;跳转到下个匹配的字符,F+一个字符则相反;
-
按0跳到行首,^跳到行首非空字符,$跳到行尾;
-
按{}()跳到以空行为分割的段首/段尾;
-
gg/G跳到文首/文尾;
-
nG跳到n行;
-
H/M/L跳到开头/中间/结尾;
-
ctrl+o快速返回上次编辑的地方;
-
zz把屏幕置为中间;
-
x删除一个字符;
-
dw删除一个单词,diw删除一个word,daw删除一个WORD;
-
dd删除一行,ndd删除n行,dt)删除到)的内容,d$删除到行尾,d0删除到行首;
-
v进入视图模式,V进入试图模式以行为选择单位;
-
r+字符将光标字符替换为输入字符;
-
s+字符将光标字符替换为输入字符并进入插入模式;
-
4s删除4个字符替换并进入插入模式;
-
R一直替换后面的字符,S整行删除并进入插入模式;
-
ciw删除一个word进行更改,caw删除一个WORD进行更改;
-
ct)删除到)的内容进行更改;
-
set hls设置高亮;
-
/前向搜索,?反向搜索,按n/N跳到下/上一个匹配
-
替换命令:
1
:[range]s[ubstitude]/{pattern}/{string}/flags
-
range,比如10,20表示第10行到20行,%表示全部
-
pattern要替换的格式
-
string替换后文本
-
flags
- g全局
- c确认,可以确认或拒绝修改
- n报告匹配到的次数,不替换
-
-
精确匹配替换
1
:%s/\<quack\>/jiao/
Vim基础常识
-
buffer:打开的一个文件的内存缓冲区;
-
窗口:buffer可视化的分割区域;
-
tab:可以组织窗口为一个工作区;
-
buffer切换,:ls列出当前buffer,:b n跳到第n个buffer;:b pre/next/first/last跳到前一个/下一个/第一个/最后一个buffer;
-
一个缓冲区可以分割多个窗口,每个窗口可以打开不同的缓冲区;
-
:vsp垂直分割窗口,
-
:sp垂直分割窗口;
-
ctrl+h/j/k/l移动到左/下/上/右窗口;
-
ctrl+H/J/K/L将当前窗口移动到左/下/上/右;
-
tab标签页,将窗口分组;
-
新建标签页,:tabnew 文件名;
-
gt切换下一个标签页,gT切换上一个标签页;
-
tab filename 在新建标签页打开filename文件;
-
:tabc(lose)关闭当前标签页;
-
:tabo(oly)只保留当前标签页;
-
文本对象:
1
[number]<command>[text object]
-
viw选中一个word;
-
vaw选择一个WORD;
-
复制粘贴:y/p,v选中,p粘贴,yiw复制一个word,yaw复制一个WORD;
-
yy复制一行,dd剪切一行,nyy复制n行,ndd剪切n行;
-
插入模式下,ctrl+c复制,ctrl+v粘贴;
-
:set autoindent设置自动换行;
-
设置自动换行后粘贴后混乱,:set paste粘贴后再:set nopaste使自动换行继续起作用;
-
vim的寄存器
- 默认使用无名寄存器
- ayiw 复制到a寄存器,biw复制到b寄存器
- 寄存器名字从a-z
- “”代表无名寄存器
- “0代表复制寄存器
- ”+复制到系统剪贴板
- “%表示当前文件名
- ”,上次插入的文本
-
:echo has(‘clipboard’),显示1代表支持clipboard,:set clipboard=unaned后可以直接对系统剪贴板进行操作;
-
:e!不保存更改重新加载文件;
-
:colorscheme查看当前配色,:colorscheme ctrl+d查看系统提供的配色,:colorscheme 配色名字 选择配色;
-
:syntax on打开高亮;
-
宏,q+寄存器录制操作,再按q停止录制,v进入视图模式选择要操作的文本,@寄存器重复宏操作(录制的操作);
-
按v进入视图选择要操作的文本,:’<’>normal @a,选中文本进行宏操作;
-
不使用宏,:’<’>normal 依次输入操作表示对选中文本各行进行操作;
-
ctrl+n/p补全单词;
-
ctrl+x+f补全文件名;
-
ctrl+x+o配合插件进行补全;
-
配置文件~/.vimrc;
-
常用设置及映射,set nu设置行号,colorscheme 配色名字 修改配色,syntax on打开高亮,set hlssearch设置搜索高亮,set pasteloggle=
设置F2键映射为:set passte; -
设置,为leader键,let mapleder=","
-
inoremap,i表示插入模式,nore表示非递归,map表示映射;
-
inoremap
w :w 设置leader键加w键代替系统的:w回车; -
vim脚本vimscript;
-
映射:把一个操作映射到另一个操作;
-
:map - x用-代替x删除字符;
-
:map
viw用空格键代替进入视图模式并选中一个word; -
映射有关n/v/i分别表示normal模式/视图模式/插入模式;