vim编辑器:
Linux字符界面下的编辑器有:vi、vim、nano等。Ubuntu默认带有vi,vim原意imitation(模仿),现在improved(增强版vi)。
安装:sudo apt install vim
- 三种工作模式介绍:
命令—>编辑
-
a/A 当前光标所在字符后的位置进行编辑 / 当前行末
-
i/I 在光标所在字符前开始编辑 / 在光标所在行的行首开始插入
-
o/O 当前光标所在行的下面新开一行 / 当前行的上面新开一行
编辑—>命令 esc
命令—>末行 :
末行—>命令 esc
命令模式
快捷键使用:
hjkl 左下上右(方向键)
gg 移动光标到文件第一行
G 移动光标到文件最后一行
nG n为数字,表示光标移动到第n行
ndd n为数字,表示删除或剪切n行
nyy n为数字,表示复制n行
p 粘贴
x 删除一个字符
D 删除当前光标到行尾
dG 删除当前光标到文件尾
u 撤销上步操作undo
ZZ 保存退出
查找:
/PATTERN 向下查找匹配PATTERN的字符串(支持正则表达式) n下一个 N上一个
?PATTERN 向上查找
末行模式:
:q! 不保存退出
:wq 保存退出
:set nu 显示行号
:set nonu 取消行号
:n 到第n行,可在命令模式下实现同样功能
:1,5 m $ 第1到第5行的内容,移动到文末尾
:1,5 co $ 第1到第5行的内容,复制到文末尾
:42,$ d 42到最后一行之间内容删除
:% 选择文件所有行,相当于1,$
:1,6 s/abc/123 #s替换命令 1-6行之间每行查找到的第一个abc字符串,全部替换成123,
:1,6 s/abc/123/g #g(global)全局 1-6行之间所有abc(每行可能多个)字符串,全部替换成123
-
多窗口
:new(或split) 窗口名 水平分割窗口,窗口名就是文件名
:vsp 窗口名 垂直分割窗口
:Ctrl+w切换到下一个窗口
:close或q
-
追加和覆盖
:1,2 w! filename1 第1行和第2行内容写入 filename1文件,覆盖原有文件内容
:1,2 w >> filename1 追加
补充说明:在shell命令中使用> 和 >>
echo `date` > filename1 覆盖
echo `date` >> filename1 追加