Linux 学习笔记之 4 Linux文本编辑器

时间:2021-04-14 15:32:09
1 Linux文本编辑器     功能最强大的编辑器:vi 三种操作模式:
  • 命令模式(command mode)
  • 插入模式(input mode)
  • 底线模式(lost line mode)
1.1 执行与结束     在系统提示字符(如$、#)下敲入vi <档案名称>,vi 可以自动帮你载入所要编辑的文件或是开启一个新 文件(如果该文件不存在或缺少文件名)进入 vi 后萤幕左方会出现波浪符号,凡是列首有该符号就代 表此列目前是空的。 
1.2 切换不同模式的按键     进入VI默认的模式command mode, 从命令模式下按“i”,”a“,“o”三个键就可进入input mode;  
  • i:插入,从目前光标所在之处插入;
  • a:增加,目前光标所在下一个字开始输入文字;
  • o:插入新的一行
从input mode回到command mode按下ESC键在command mode下输入“:”到 last line modeLinux 学习笔记之 4 Linux文本编辑器
Linux 学习笔记之 4 Linux文本编辑器图1 三种模式的相互切换
2 Command mode的操作 2.1 移动光标位置
  • h:将光标向左移动一格
  • l:将光标向右移动一格 
  • j:将光标向下移动一格
  • k:将光标向上移动一格
  • o:将光标移到该行的最前面
  • $:  将光标移到该行的最前面
  • G:将光标移到最后一行的开头
  • w或W:将光标移到下一个字
2.1.1 卷动屏幕内容
  • ctrl+b:将光标向前卷动一页,相当于按page up键
  • Ctrl+f:将光标向文章后面移动一页,相当于按page down键
  • Ctrl+u:将光标向前移动半页
  • Ctrl+d:将光标向后移动半页
  • ctrl+e:屏幕向下卷动一行
  • Ctrl+y:屏幕向上卷动一行
2.1.2 其它按键
  • r:在command mode只要将光标停在要修改的位置,然后按r键,就可以修改一个字符
  • u:按此键可以取消前一次的操作,若再按一次就可回来。
  • U:还原
  • ZZ:连按2次Z键,可将当前正在编辑的文件保存并结束vi。
  • %:将光标移到其中一个括号,按此键来找到对应的括号。
2.2 复制文本
  • yy:可将光标当前所在位置的整行复制
  • yw:可复制光标所在位置到整个单字结束处的字符
  • P:可将复制的字粘贴在当前光标所在的位置.复制整行文字,粘贴到光标所在位的下一行
2.3删除与修改文件的命令
  • x: 删除光标所在字符。 
  • X:删除光标位置前面的一个字符.
  • dd :删除光标所在的列。 
  • ndd:若按3dd键,表示删除当前光标位置的1行与下面两行
  • D:可删除一行中光标所在位置之后的所有字符
  • r :修改光标所在字元,r 後接著要修正的字符。 
  • R: 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到命令模式下为止。 
  • s: 删除光标所在字元,并进入输入模式。 
  • S: 删除光标所在的列,并进入输入模式。 
    新增 (append) 
  • a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 
  • A: 从光标所在列最後面的地方开始新增资料。
    插入 (insert) 
  • i: 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 
  • I :从光标所在列的第一个非空白字元前面开始插入资料。 
    开始 (open) 
  • o :在光标所在列下新增一列并进入输入模式。 
  • O: 在光标所在列上方新增一列并进入输入模式。 
2.4 显示光标所在行数,移到指定行数 
  • Ctrl+g或G:按此组合键,则会在最下方的last line处显示光标所在位置的行数,以及文章的总行数。
  • nG:n为数字,若按下20G键,则可将光标移到第20行
3 Last line mode的操作     进入命令行:按ESC键    离开VI及保存文件        在command mode下按:键进入Last line mode
  • :w   filename  输入w  filename ,将文章存入指定的文件名filename
  • :  wq     (保存离开)
  • :q      (不保存离开)
  • :q!   (强制离开)
  • :e      (创建一个新文件,输入e加上指定的文件名)
  • :n       (在VI中载入另一个文件,可输入n在加上指定的文件名)
  • :set nu命令(在文件内容每一行的前面加上行号)
  • :set nonu命令(将每一行的行号取消)
    搜索字符串:搜索文章中的某一字符串时,可输入“/”后加字符串    替换字符串:例如:g/temp/s//tmp/g  :g/temp/s//tmp/gc(将temp替换成tmp)