linux vi 编辑器的学习

1.为什么要学习vi?

因为vi是所有 UNIX-like 系统都会默认内置的文本编辑器,而且很多程序都调用vi的接口进行编程,所以学了不亏。

VIM是VI的高级版本,多了代码高亮等一些高级功能。

2.VI的模式

总共有三种: 一般命令模式,编辑模式,命令行模式

刚进入一个文件就是一般命令模式,按下 i l o O a A r R 进入编辑模式,可以操作文本,按下ESC退出编辑模式,在编辑模式按 : 则进入命令行模式,可以输入特定命令执行替换,查找,退出等操作。

 3.常用命令

[n] + h j k l 分别往左 下 上 右 移动 n 个字符

PAGEUP  上一页  PAGEDOWN  下一页

[n] + <space> 往后移动 n 个字符

HOME 光标所在行的第一个字符  END 光标所在行的最后

G 移动到最后一行  [n]G 移动到第n行  gg 移动到第一行,相当于 1G  [n]<ENTER>  往下移动 n行

/[word]   查找关键字 word     查找到后按n则查找下一个  大写N  上一个 

:[n1],[n2]s/[word1]/word2/g 在 第  n1 到 n2 行中查找 word1 并替换为 word2

:1,$s/[word1]/word2/g  第  1 到 最后 行中查找 word1 并替换为 word2

:1,$s/[word1]/word2/gc  第  1 到 最后 行中查找 word1 并替换为 word2,带有确认选项

x 后删除一个字符  X 前删除一个字符  [n] x 后删除n个字符

dd 删除一行 [n]dd 删除n行 d1G 删除光标到第一行  dG 光标到最后  d$ 光标到该行最后 d0 光标到该行开始

以上删除都带有剪切

yy 复制当前行  [n]yy 向下复制n行 y1G yG y$ y0 同删除

p P 向上/下粘贴

J 该行和下一行合并   u 撤销  [Ctrl] + r 前进

小数点  .   重复前一个操作

 

i I 当前光标插入,I 所在行第一个非空格符开始插入

a A  光标所在下一个字符插入  A 所在行最后一个字符插入

o O 插入新行, O 上一行插入

r R 只替换一个字符 大写 无限制

 

:w 写入硬盘,相当于保存 :w! 强制写入和权限有关  :q 退出 :q! 强制退出 :wq 保存后退出 

ZZ 有修改则保存退出,否则不保存退出  :w[filename] 保存成另一个文件 :r [filename] 追加filename 的内容到光标后

:set nu  设置行 :set nonu 取消行

:! [commond]  暂时退出执行 commond命令

 

4. 缓存的处理

如果在编辑vim的时候意外关闭,会生成,XXX.swp缓存文件,这时候重新打开会出现报错界面

解决方法: O 只读方式打开 E 编辑方式打开 R 加载缓存  D 删除缓存 Q 退出vim A 忽略

个人觉得,没用直接rm -rf 删了吧,这样就不会一直提示报错界面了

 

5.可视区块

v 选中光标经过的地方  V 选中光标经过的行  Ctrl + v 矩阵选中  y 复制选中的地方 d 删除选中的地方  p 粘贴

 

6.vim编辑多个文件

vim hosts /etc/hosts 后面加多个文件就可以同时编辑多个文件

:n 编辑下一个文件 :N 编辑上一个文件 :files 列出正在编辑的文件

7.多窗口功能

:sp [filename] 即可在当前界面打开filename的内容

可以通过 Ctrl + w + j/方向键下     Ctrl + w + k/方向键下上  上移或者下移

:close关闭当前窗口  Ctrl + w +q 不知道为啥没用

8.补全功能

Ctrl + x 然后输出 Ctrl + n 文件内容作为关键字补全

Ctrl + x 然后输出 Ctrl + n目录文件名作为关键字补全

Ctrl + x 然后输出 Ctrl + o 拓展名语法补充补全 比如在html文件中,输入style 然后紧跟着输入b,执行命令后就会出现 background等单词.

9. 换行转换

Dos系统和Linux系统的换行符号不同,会造成在Dos系统编辑的文件在linux无法运行

使用 dos2unix unix2dos 来互相转换

 

9.编码转化

iconv -f utf8 -t gbk welcome.txt -o welcomt_gbk.txt

把utf8编码的welcome.txt 转化为 gbk编码的welcome.txt,并  -o 保留源文件

 

posted @ 2021-07-19 23:17  随意的马蒂洛克  阅读(64)  评论(0编辑  收藏  举报