RUI个人博客 首页>>Linux>>[原] Linux学习笔记之vi编辑常用的快捷功能

[原] Linux学习笔记之vi编辑常用的快捷功能

场景:这里所记录的只是一下基础但是比较常用的一些vim中的一些快捷方式,更高级的用户请 咨询google 大婶。。。。。

目录:

1. Vi 的三种工作模式:
      1.1  i,l  插入     a,A增加    o,O插入新的一行    r,R取代    Esc 退出编辑模式
      1.2  移动光标1   h或 ← 键     j或 ↓ 键    k或 ↑ 键    l 或→键    数字0   $
      1.3  移动光标2    G  nG   gg   nn   nn
            复制 和 粘贴    yy   nyy    p,P  
            撤销 和 查找     u   Ctrl+r  e!   /word  ?word  n   N
            删除    x,X    nx   dd  ndd  d1G  dG 
            替换  :%s/word1/word2/g
            保存和另存为   :w    :w!    :w filename  :n1,n2 w filename
            退出和保存   :q   :q!   :wq    :x
           上下翻页  Pageup Pagedown  Ctrl+b  Ctrl+f
      1.4  设置行号  :r[filename]   :set nu   :set nonu   :command
2. Vim的附加功能
      2.1  块选择(visual block)  v   V   Ctrl+v    y   d
      2.2 多文件编辑   :n   :N    :files
      2.3  多窗口功能   :sp filename    Ctrl+wj   Ctrl+wk   Ctrl+wq


1. Vi 的三种工作模式:

   一般模式   编辑模式   指令模式


 1.1  i,l  插入     a,A增加    o,O插入新的一行    r,R取代    Esc 退出编辑模式

i,I插入 i 在目前的光标所在处插入文字,已存在的文字向后退 I 在行首插入
a,A增加 a 由光标所在的下一个字开始输入,已存在的文字会向后退 A 由光标所在行的最后增加
o,O插入新的一行 o 从光标所在的下一行的行首开始输入文字  O 从光标所在行的上一行输入文字
r,R替换 r 会替换光标所在的那一个字符 R 会一直替换光标所在的文字
Esc退出编辑模式 回到一般模式

1.2  移动光标1   h或 ← 键     j或 ↓ 键    k或 ↑ 键    l 或→键    数字0   $

h 或 ←键 光标向左移动一个字符
j 或 ↓键 光标向下移动一个字符
k 或 ↑键 光标向上移动一个字符
l 或 →键  光标向右移动一个字符
数字0 光标移动到这一行的最前面字符
光标移动到这一行的最右边的字符

1.3  移动光标2    G  nG   gg   nn   nn

G 移动到这个档案的最后一行
nG n为数字,移动到这个档案的第n行
gg 移动到这个档案的第一行,相当于1G
n n为数字,光标向下移动 n 行
n n为数字,光标向后移动 n 的字

:set nu  显示行数,在shell开发过程中非常有用

以下表格通过对表cmd操作引出 vi 相对应命令

Windows中 Linux中
复制 ctrl + c

yy 复制光标所在的那一

nyy 复制光标所在的向下 n 行,

例如: 33yy 表示向下复制 33 行,通过 p 粘贴

粘贴 ctrl + v

小写 p 为复制的数据在光标下一行粘贴

大写 P 则为粘贴在光标的上一行

撤销 ctrl + z

u  还原前一个动作之前的内容(个人认为非常有用)

ctrl + r 重做上一个动作

:e! 将档案还原到最原始的状态!

查找 ctrl + f

/word 光标之后寻找一个字符串为 word 的字符

?word 光标之前寻找一个字符串为 word的字符串

n 重复前一个搜索的动作

N 反向进行前一个动作搜索的动作

删除 del    Backspace

小写 x 向后删除一个字符

大写 X 向前删除一个字符

nx 向后删除 n 个字符

dd 删除光标所在的那一整行(个人认为常用)

ndd 删除光标所在的向下 n 行,例如:33dd 表示向下删除 33行,对照复制nyy

d1G 删除光标所在到第一行的所有数据

dG 删除光标所在到最后一行的所有数据

替换 ctrl + h

g为global  全局    /为标识分割,可替换为其他,例如#,@ 等。。

:n1,n2 s/word1/word2/g 在第n1行和第n2行之前,将所有的word1替换为word2 

:1,$s/word1/word2/g 从第一行到最后一行,将所有的word1替换为word2

:1,$s/word1/wotd2/g 从第一行到最后一行,将所有的word1替换为word2,在替换前显示字符给使用者确认(conform)是否进行替换

: %s/word1/word2/g  全文进行替换

保存 ctrl + s

:w 将编辑的数据写入磁盘档案

:w! 若档案属性为只读时,强制写入该档案

另存为

:w filename 将编辑的数据另存储为文件 filename

:n1,n2 w filename 将n1到n2的内容另存储为文件 filename

保存退出

退出

:q 退出 vi 编辑模

:q! 若曾经修改过文件,但是不想保存修改,:q退出会报错,加上! 强制退出编辑模式

:wq 保存修改并且退出,若加 ! 强制保存退出

:x  保存并且退出

Pageup

Pagedown

Ctrl + b 、pageup 屏幕向上移动一页 (分析故障时,常用)

Ctrl + f  、pagedown 屏幕向下移动一页 (分析故障时,常用)

1.4 设置行号  :r[filename]   :set nu   :set nonu   :command

:r [filename] 在编辑的数据中,读入另一个文件的数据,也就是将 [filename] 这个文件内容加到光标所在行的后面
:set nu显示行号,设定之后,会在每一行的前缀显示该行的行号 (shell开发中非常有用)
:set nonu 与 :set nu 相反,取消行号 (笨方法(无修改记录):退出重新登录)
:command 暂时离开vi到指令模式下执行 command 的显示效果

 2. Vim的附加功能

    2.1  块选择(visual block)  v   V   Ctrl+v    y   d

按键 块选择的按键意义
v 字符选择,将光标经过的地反白选择
V 行选择,将光标经过的行白选择
ctrl + v 块选择,可用长方形的方式进行列编辑  (多行列编辑非常好用)
y 复制反白的地方
d 将反白的地方删除掉

 2.2 多文件编辑   :n   :N    :files

按键 意义
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出当前 vim 打开的所有文件

2.3  多窗口功能   :sp filename    Ctrl+wj   Ctrl+wk   Ctrl+wq

按键 功能
:sp filename

打开一个新窗口,如果加file,表示在新的窗口打开一个新文件

否则表示两个窗口同时打开一个文件

Ctrl + wj 先按 ctrl 不放,再按 w 后放开两个键,再按 j 则光标移动到下方的窗口
Ctrl + wk 按键方式同上,光标移动的上方窗口
Ctrl + wq 保存退出

          2016.05.09 于 北京康馨家传    tyger.wang

























昵  称:
邮  箱:
评论内容:
验 证 码:
可用[code][/code]插入代码
点击刷新验证码