Linux(VI操作)

VI
vi简介
vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 vi没有菜单,只有命令,且命令繁多。
Vi有三种基本工作模式:
命令模式
文本输入模式
末行模式
存盘退出
:w存盘
:wq存盘退出
强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间
:x保存退出
写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
:shift+zz
子主题 1
:q!不存盘,强制退出
:e! 放弃所有修改,从上次保存文件开始再编辑
开新的窗口
:sp newfile
则分出一个窗口编辑newfile文件。如果要从命令模式转换到编辑模式,可以键入命令a或者i;如果需要从文本模式返回,则按Esc键即可。在命令模式下输入“:”即可切换到末行模式,然后输入命令。
文件另存为
:w newfile
文件另存为newfile,但是当前文件也在,编辑的时候编辑就是当前文件
进入文本输入模式(重要):
i: 插入光标前一个字符
I: 插入行首 
a: 插入光标后一个字符 
A: 插入行未 
o: 向下新开一行,插入行首
O: 向上新开一行,插入行首
切换命令模式:ESC(重要)
ESC:从插入模式或末行模式进入命令模式
移动光标:
h: 左移 
j: 下移
k: 上移 
l: 右移
M: 光标移动到中间行 ,屏幕的中间行
移动到屏幕最后一行行首和指定行(重要)
L: 光标移动到屏幕最后一行行首 
G: 移动到指定行,行号shift+g,例如:定位到第10行:第一步10,第二步shift+g
如果shift+g:直接到文件最后一行行首
按一个字向前移动和向后移动
w: 向后一次移动一个字
b: 向前一次移动一个字
按段向上向下移动
{: 按段移动,上移
}: 按段移动,下移
向上向下翻半屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏
向上向下翻一屏
Ctrl+f: 向下翻一屏 
Ctrl+b: 向上翻一屏
光标移动到文件开头和末尾(重要)
gg: 光标移动文件开头
G: 光标移动到文件末尾
删除剪切命令:
删除光标前后一个字符,只针对有内容的某行
x: 删除光标后一个字符,相当于 Del 
X: 删除光标前一个字符,相当于 Backspace
删除光标所在行和删除指定行数(重要)
dd: 删除光标所在行,
n dd 删除指定的行数 ,如果加上p就是剪切了
删除光标前本行所有内容和删除光标开始位置的字符
D: 删除光标后本行所有内容,包含光标所在字符 
d0: 删除光标前本行所有内容,不包含光标所在字符
dw: 删除光标开始位置的字,包含光标所在字符
删除单词
delete word
撤销命令(重要):
u: 一步一步撤销
Ctr+r: 反撤销
文本行移动(重要):
>>: 文本行右移 
<<: 文本行左移
n >>: 向右移动n行
n <<: 向右移动n行
重复命令:
. : 重复上一次操作的命令
复制粘贴(重要):
yy: 复制当前行
n yy 复制 n 行 
p: 在光标所在位置向下新开辟一行,粘贴
可视模式(重要):
v: 按字符移动,选中文本
V: 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动
替换命令(重要):
末行模式下,将光标所在行的abc替换成123
:%s/abc/123/g
末行模式下,将第1行至第10行之间的abc替换成123
:1, 10s/abc/123/g
搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
:%s/old/new/gc
替换操作:
r: 替换当前字符 
R: 替换当前字符,然后光标往后一个字符停留
替换还会后移
查找命令(重要):
/: str查找
类似搜索功能
n: 下一个
N:上一个
保存并且退出的三种方式(重要)
末行模式下::x(重要)
末行模式下::wq保存并且退出
命令模式下:Shift+zz,(说明,这个键容易变成中英文输入法切换,要注意)
vim里执行 shell 下命令:
末行模式里输入!,后面跟命令
直接定位到错误行位置
直接定位到xxxx.py文件第10行错误代码的位置命令:vi xxxx.py + 10
vim 设置临时的行号
:set number

猜你喜欢

转载自blog.csdn.net/qq_42240071/article/details/80409780