Linux日常技能2

1、vim 查找一个字符串、替换一个字符串

1)查找一个字符串

1. 在用vim打开文本的界面中,按住Esc,然后输入/china
2. 文本中所有的china字符串都显示高亮
3. 按住小写的n,为往下查找,按住大写的N为往上查找
4. 在命令行的模式下输入:nohlsearch 为关掉高亮  

2)替换一个字符串
vi/vim 中可以使用 :s 命令来替换字符,以下都是命令行的模式

  
  :s/vivian/sky/ 替换当前行第一个 vivian 为 sky 
  
  :s/vivian/sky/g 替换当前行所有 vivian 为 sky 
  
  :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky 
  
  :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky 
  
  n 为数字,若 n 为 .,表示从当前行开始到最后一行 
  
  :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky 
  
  :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky 
  
  可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符 
  
  :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/ 
  
  :%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/ 

从上面知道,g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索 ,字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

2、 vim/vi 行号问题

1)在当前用户下面

1.打开的文本没有显示行好,可以在命令行的模式下输入:set nu 为显示行号
2.输入:set nonu为关掉行号
3.打开vim ~/.vimrc  输入set nu,以后再打开就可以显示行号了

2)系统级别显示行号

打开 sudo vim /etc/vimrc ,末尾行输入set nu 所有用户都会显示行号

3、删除、复制、剪贴使用

按住esc键。然后按住v 、 V为进入自由可选状态。按住左右上下键或是hjkL为鼠标选择范围。
按住esc就是进入命令模式下,命令行模式下按下组合键Ctrl+V进入到按块选择模式。
选好文字以后就可以移动光标,到你想要要粘贴的地方,按下p键就好。

 1 首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了。
 2 其他命令模式下剪切命令:
 3 dd:剪切当前行
 4 ndd:n表示大于1的数字,剪切n行
 5 dw:从光标处剪切至一个单子/单词的末尾,包括空格
 6 de:从光标处剪切至一个单子/单词的末尾,不包括空格
 7 d$:从当前光标剪切到行末
 8 d0:从当前光标位置(不包括光标位置)剪切之行首
 9 d3l:从光标位置(包括光标位置)向右剪切3个字符
10 d5G:将当前行(包括当前行)至第5行(不包括它)剪切
11 d3B:从当前光标位置(不包括光标位置)反向剪切3个单词
12 dH:剪切从当前行至所显示屏幕顶行的全部行
13 dM:剪切从当前行至命令M所指定行的全部行
14 dL:剪切从当前行至所显示屏幕底的全部行
首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了。
其他命令模式下剪切命令:
yy:复制当前行
nyy:n表示大于1的数字,复制n行
yw:从光标处复制至一个单子/单词的末尾,包括空格
ye:从光标处复制至一个单子/单词的末尾,不包括空格
y$:从当前光标复制到行末
y0:从当前光标位置(不包括光标位置)复制之行首
y3l:从光标位置(包括光标位置)向右复制3个字符
y5G:将当前行(包括当前行)至第5行(不包括它)复制
y3B:从当前光标位置(不包括光标位置)反向复制3个单词

插入命令
来自Linux—vi/vim复制剪切粘贴以及常用命令小结

常用插入、删除指令如下:
i:在当前光标前插入,光标后文本向后移
a:从当前光标后插入,光标后文本后移
I:在光标所在行首插入(第一个非空白字符前)
A:从光标所在行末插入
o: 在光标所在行下面新增一行(并进入输入模式)
O: 在光标所在行上方新增一行(并进入输入模式)
x: 删除光标所在字符,等同于[Delete]功能键
X: 删除光标前字符,相当与[Backspace]
dd: 删除光标所在的行
r: 修改光标所在字符
R: 替换当前字符及其后的字符,直到按 [ESC]
s: 从当前光标位置处开始,以输入的文本替代指定数目的字符
S: 删除指定数目的行,并以所输入文本代替之
do: 删至行首
d$: 删至行尾 

2)vim 突然不响应了

问题的原因: CTRL+S表示停止向终端停止输出; CTRL+Q恢复向终端输出流.
如果打开了NERDTree,CTlist或者多个文件,如果Ctrl+Q没反应,先按键数字键 1,再ctrl+q

3)VI中的多行删除与复制

VI中的多行删除与复制

4)移动 跳转 到 文档开头或末尾

gg:命令将光标移动到文档开头

G:命令将光标移动到文档末尾
命令行模式下输入1G可以跳转到页面的头部位置

猜你喜欢

转载自blog.csdn.net/lovexlsforever/article/details/81009743
今日推荐