Vim编辑器
1.概述:
- Vi:命令行界面下的文本编辑器;Unix操作系统中默认的编辑器。
- Vim:Vi的升级版;用彩色显示文本;可视为程序编辑器。
2.Vim的工作模式:
- 命令模式:使用命令vim filename进入命令模式;控制光标的移动,可以对文本进行复制、粘贴、查找和替换等操作
- 输入模式:从命令模式切换到输入模式:i, I,a, A,o,O, r,R中的任意一个;当进入输入模式时,屏幕最后一行出现”INSERT”或”REPLACE”字样;从输入模式返回到命令模式:ESC键;
- a: 在光标后输入
- i:在光标前输入
- o:在光标的下一行输入
- A:在行尾输入
- I:在行首输入
- O:在光标的上一行输入
- 末行模式:保存/退出文档,以及设置编辑环境
3.命令模式:
(1)光标跳转:
- kjhl:上下左右
- #k/j/h/l:向上/下/左/右跳转#个字符
(2)单词跳转:
- b:当前单词的词首
- e:当前单词的词尾
- w:下一个单词的词首
- #command:跳转#个单词**
(3)行首行尾跳转:
- ^:跳转到行首(非空白字符)
- 0:跳转到行首
- $:跳转到行尾
(4)行间移动:
- 1G/gg:跳转到第1行
- G:跳转到最后第1行
- #G:跳转到第#行
(5)句间/段落间移动:
- (:句间向上移动
- ):句间向下移动
- {:段落间向上移动
- }:段落间向下移动
(6)字符编辑:
- x:删除光标处的字符
- #x:删除光标处起的#个字符
(7)字符替换:
- r:替换字符
- #r:替换光标处起始的第#个字符
(8)字符删除:
- d↑/↓/←/→:删除,配合光标的跳转使用
- d^/0:删除光标处到行首的字符
- d$:删除光标处到行尾的字符
- db:删除光标处到当前单词词首的字符
- de:删除光标处到当前单词词尾的字符
- dw:删除光标处到下一个单词词首的字符
- dd:删除光标所在的行
- #dd:删除光标所在行起的#行
- Delete:删除光标所在处的下一个字符,不可跨行
(9)复制+粘贴:
- y^/0+p:复制光标处到行首的字符,显示结果
- y$+p:复制光标处到行尾的字符,显示结果
- yy+p:复制光标所在的行,显示结果
- #yy+p:复制光标所在行起的#行,显示结果
- y1G+p:复制光标处到第一行所有字符,显示结果
- yG+p:复制光标所在行到最后1行的所有字符,显示结果
//光使用复制命令不使用粘贴命令,结果不显示;p在光标下一行显示结果,P在光标上一行显示结果
(10)撤销:
- u:撤销前1次操作
- #u:撤销前N次操作
(11)搜索:
- /+name:向光标之下寻找一个名称为name的字符串 *
- ?+name:向光标之上寻找一个名称为name的字符串
- n:查找下一个匹配
- N:跳转上一个匹配
:n1,n2s/word1/word2/g:在第n1与n2行之间寻找word1这个字符串,并将该字符串取代为word2
(12)保存退出:
- ZZ:保存退出
4.末行模式:
(1)保存退出:
- :q:退出
- :q!:强制退出,丢弃做出的修改
- :wq:保存退出
- :wq!:强制保存退出
- :x:保存退出
- :X:加密保存退出
:w /path/filename:将当前编辑的文件另存到/path目录下,文件名为filename
- !:强制执行
(2)地址定界:
- N:第N行
- N,M:第N到M行
- N,+M:第N行到第N+M行
- .:当前行
- $:最后一行
- %:全文
- /part1/,/part2/:被part1匹配到被part2匹配
使用方式:后面去跟一个编辑命令
- d:删除
- y:复制
- w:将范围内的内容另存到另一个文件
- r:在指定位置插入指定文件的所有内容
例:
:1,2d #删除1到2行
:4y #复制第4行
:$d #删除最后一行
:%d #删除全文
:5,6w /root/test_part1 #将5,6行存到另一个文件中
:$r /etc/fstab
(3)查看并替换:s/查找内容/替换内容/修饰符
修饰符:
- i:忽略大小写
- g:全局替换,默认情况,只替换每一行第一次出现
- #:也可以作为分隔符,此时/不会作为分隔符
(4)多文件模式:vim file1,file2…
- :next
- :prev
- :first
- :latest
- :qwall
(5)窗口分割:vim ‐o | ‐O file1,file2…
- ‐o:水平分割
- ‐O:垂直分割
(6)窗口跳转:
- CTRL‐W h:跳转到左边的窗口
- CTRL‐W j:跳转到下面的窗口
- CTRL‐W k:跳转到上面的窗口
- CTRL‐W l:跳转到右边的窗口
- CTRL‐W t:跳转到最顶上的窗口
- CTRL‐W b:跳转到最底下的窗口
5.定制vim:
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
行末:当前进程有效
行号
显示:set number,简写为set nu
取消显示:set nonumber,简写为set nonu
括号匹配
匹配:set showmatch,简写为set sm
取消:set nosm
自动缩进
启用:set ai
禁用:set noai
高亮搜索
启用:set hlsearch
禁用:set nohlsearch
语法高亮
启用:syntax on
禁用:syntax off
忽略字符的大小写
启用:set ic
不忽略:set noic
附: