vim是从vi发展过来的一款文本编辑器
前提安装了vim软件
工作模式:
命令模式:-- 打开文件之后,默认就是命令模式(ESC键)
编辑模式:–需要输入一些命令,切换到编辑模式(iaos,IAOS),按esc键回到命令模式
末行模式:-- 在末行模式可以输入一些命令( : 键 ) 按两次esc键切回命令模式
编辑模式不能直接切回到末行模式,需要先切换到命令模式,然后再切回到末行模式
命令模式下的操作:
光标移动:
1 2 3 4 5 6 7 8 H J K L 前 下 上 后 行首:0 行尾:$ 文件开始位置:gg 文件末尾:G 行跳转:300gg
删除操作:
1 2 3 4 5 6 7 删除光标后边的字符:x 删除光标前的字符:X 删除单词:dw(光标移动到单词开始位置,否则只能删除一部分) 删除光标到行首的字符串:d0 删除光标到行尾字符串:D(d$) 删除光标当前行:dd 删除光标多行:ndd(n--自然数)
撤销操作:
复制粘贴:
1 2 3 4 5 6 7 8 9 10 11 复制:yy 复制多行:nyy 粘贴:p(光标所在行的下一行) 粘贴:P(大写,光标所在行) 在vim中剪切等于删除 剪切:dd(剪切一行) 剪切多行:ndd(n--自然数)
可视模式:
1 2 3 4 5 6 7 切换到可视模式:v 选择内容:h j k l 复制:y 删除当前行:d 粘贴:小写p(粘贴到光标下一个字符)或大写P(粘贴到光标上一个字符)
查找和替换操作:
1 2 3 4 5 /查找内容 往下找 ?查找内容 往上找 把光标移动到查找的单词上,按# 遍历快捷键:n或N,往下找n是下一个,N是是一个,往上找n是上一个,N是下一个,取决于查找方向
1 r:替换当前字符 按下r之后输入一个字符,只能替换一个字符
缩进:
查看帮助文档,首先光标移动到关键字或函数那里,然后按下数字,例如3,在按shitf+k
文本模式下的操作:
切换到文本模式:
1 2 3 4 5 6 7 8 9 10 11 a -- 在光标所在位置的后边插入 A -- 在当前行的尾部插入 i -- 在光标所在位置的前边插入 I -- 在光标所在行的行首插入 o -- 在光标所在行的下边开辟一个新的行 O -- 在光标所在行的上边开辟一个新的行 s -- 删除光标后边的字符,然后插入 S -- 删除光标所在行,然后插入
末行模式下的操作:
输入linux命令
替换:
先查找,然后光标移动到要替换的行
1 2 3 4 5 6 :s/tom/jack 代表用jack替换当前行的第一个tom s/tom/jack/g 代表用jack替换当前行的所有tom :%s/tom/jack 代表用jack替换当前文本所有行的第一个tom :%s/tom/jack/g 代表用jack替换当前文本的所有tom :20,25s/tom/jack/g 代表用jack替换20行到25行的tom :20,25s/tom/jack/ 代表用jack替换20行到25行的第一个tom
保存退出:
1 2 3 4 5 :q 退出 :q! 退出不保存 :w 保存 :wq 保存退出 :x 保存退出
命令模式下的保存退出
命令模式分屏操作:
1 2 3 4 5 6 7 8 9 :sp 将屏幕分成两部分 水平 :vsp 将屏幕分成两部分 垂直 :sp或vsp +文件名,水平或垂直拆分窗口显示两个不同的文件 :wqall保存并退出所有屏幕 :wall 保存所有 :wq保存并退出光标所在的屏幕 :q 退出当前屏幕 ctrl+ww 切换屏幕
vim打造IDE
系统级配置文件目录:/etc/vim/vimrc
用户级配置文件目录:~/.vim/vimrc
~/.vimrc
1 2 3 4 5 6 7 8 9 10 11 12 set number set ts=4 set softtabstop=4 set shiftwidth=4 set expandtab set autoindent inoremap ( ()<ESC>ha inoremap { {}<ESC>ha inoremap [ []<ESC>ha inoremap ' ''<ESC>ha inoremap " ""<ESC>ha imap { {<CR>}<ESC>O
ts 是tabstop的缩写,设TAB宽度为4个空格。
softtabstop 表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用 expandtab 时特别有用。
shiftwidth 表示每一级缩进的长度,一般设置成跟 softtabstop 一样。
expandtab表示缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进。
autoindent自动缩进