打开文件

  • vi

    vi grop.txt vi一个不存在的文件也可以创建文件
    vi 文件 打开文件,光标在第一行
    vi +22 profile 光标定位到文件的第22行
    vi + profile 光标定位到文件最后一行
    vi profile 打开文件后 shift+G 光标定位到最后一行
    vi +/要匹配字符 文件路径 光标定位到匹配字符那一行,如 vi +/if sxt/play.log

  • gedit

// 新开窗口,图形化编辑
gedit a.txt

关闭文件

:q   退出,没有动过文件
:wq   保存并退出
:q!    不保存并退出
:w      保存	
:w!      强行保存
:wq的简写方式:x
shiftzz   保存 并退出

编辑模式

i:光标在所在字符前面,转为输入模式
a:光标在所在字符后面,转为输入模式
o:光标在所在行的下面,新建一行,转为输入模式
O:光标在所在行的上面,新建一行,转为输入模式
大写的I:光标在所在行的行首,转为输入模式
大写的A:光标在所在行的行尾,转为输入模式

退出输入模式到编辑模式
esc

可视化编辑

  • 适合需要光标选中复制、删除的场景

v 键 之后选择 + y + p 复制粘贴所选内容

末行模式

:
:set nu    显示行号
:set nonu  不显示行号
:readonly  设置只读
:! 加命令   会退出vi到外壳中执行命令,再按enter键回到vi编辑
:1,$  1行到最后一行
:1,.   1行到当前光标行
:1,8  1行到8行
:.,+4  光标所在行向下偏移4行
:% 全文范围
:1,$-1  1行到最后一行前一行

还可以添加编辑命令
:1,$d    删除文章从第一行到最后一行

移动光标

字符
h  左   l右   j下  k上

单词
w 移动至下一个单词的词首
e  移动至下一个单词的词尾
b  移动当前或前一个单词的词首

指定字符查找
/查找字符   按 n/N 键到下一个

行内
0  行首
^ 行首的第一个非零字符
$  行尾

页首页尾
大写G  文章末尾
2大写G  第二行
3大写G  第三行
gg     文章开头

翻屏:
ctrl:f  下一页
ctrl:b  上一页

删除(x)和替换®单个字符

x  删除光标位置字符
3x  删除光标位置后面的三个字符
r    替换光标位置的字符
3r要换成的字符   替换光标位置后面的三个字符为指定字符   

范围查找替换

// 范围 s/原内容/新内容/全局
1,5 s/222/333/g

多个字符删除(d)

dw  删除一个单词
2dw  删除两个单词
dd   删除一行
3dd  删除三行

d加gg  从光标位置删到开头
d加G   从光标位置删到末尾  

剪切(d,p)

先删除后粘贴
4dd加p   剪切4行到p复制到光标所在位置的下一行
4dd加shift加p   剪切4行到p复制到光标所在位置的上一行

复制(y,p)

yw加p  复制光标所在位置字符到下一个单词之前的所有内容(包括所有的空白字符)
,复制到光标位置后
2yw加p 复制两个单词,到光标位置后
yy加p  复制一行到光标所在位置的下一行
2yy加p  复制两行到光标所在位置的下一行

撤销

u
撤销所做的撤销
ctrl加r 

重复上一次命令:

.

查找(/)

触发查找模式,n往下跳下一个匹配项,N往上跳

末行模式查找
:/after   定位到after的所在行的第一个字符

编辑模式(非输入模式)查找
/after  定位到after的a,定位到要查找字符的第一个字符所在位置

查找并替换(s)

末行模式:

查找替换每一行的一个查找内容
:1,$s/查找内容/替换内容/     在末行模式中$是文章最后一行,在编辑模式中是行尾,不一定是/做分隔符,#@等特殊字符也行
:1,$s/after/before/     从第一行到最后一行查找after并替换成before

查找替换每一行的所有查找内容(g)
:1,$s/after/before/g    加个g表示同一行的after全部替换成before

忽略大小写(i)
:1,$s/after/before/gi
:1,$s/after/before/i
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐