编辑文件(vim,nano)

针对 ubuntu20.04
ubuntu 20.04 是 “西柚云” 主要使用的操作系统 西柚云官网

使用 nano 或 vim 编辑一个文件时,都是使用命令加文件的绝对路径或相对路径。如果该路径对应的文件不存在,写入内容后,文件会自动创建。
为了方便演示,这里我在 /tmp 目录下创建 xiyouyun 目录作为工作目录, 之后的命令在 /tmp/xiyouyun工作目录下执行。

mkdir -p /tmp/xiyouyun
cd /tmp/xiyouyun

简单编辑

nano:nano [filepath]

# 使用 nano 编辑一个文件
nano /tmp/xiyouyun/nano.txt

如果你只想用 nano 做简单的编辑,在编辑完文件后按 Ctrl + s 保存文件,然后按 Ctrl + x 退出编辑,编辑内容就被写入文件了。

vim:vim [filepath]

# 使用 vim 编辑一个文件
vim /tmp/xiyouyun/vim.txt

如果你只想用 vim 做简单编辑,你需要掌握它的3种工作模式。当使用命令进入 vim vim.txt 进入 vim 时,此时是命令模式,输入i进入 vim 的输入模式,此时可以编辑文件内容,编辑好内容后,按Esc回到命令模式,输入”:”进入到 vim 的编辑模式,此时可以对文件进行保存,如输入”:wq”后回车是对文件进行保存并退出。

    graph TB
    A(命令模式) -->|a,i,o| B(输入模式)
    B(输入模式) -->|Esc| A(命令模式)
    A(命令模式) -->|输入:| C(编辑模式)
    C(编辑模式) -->|Esc或完成一次编辑| A(命令模式)

复杂编辑

nano

如果你想使用 nano 做一下复杂编辑,你需要掌握一些快捷键。
进入 nano 的编辑窗口后,使用 Ctrl + G 查看使用说明,在使用说明中首字母 “^” 表示Ctrl,首字母”M”可以用AltEscCmd中的任意一个来实现,这里我使用Alt
常用的快捷键:

Ctrl + G 可以查看 nano 使用说明,使用滚动查看使用说明,再按一次 Ctrl + G 退出使用说明。

Alt + # 显示行号,这里的 “#” 需要借助Shift 才能打出来。

Ctrl + _ 跳转到指定行,这里的“_”需要借助Shift才能打出来。

Ctrl + s 保存写入文件的内容

Ctrl + x 退出编辑模式,一般来说退出之前需要保存文件内容,也可不保存退出,这样文件更改就不会生效。

Alt + u 撤销上一次的更改

Alt + e 重做上一次撤销的更改

Ctrl + \ 替换文件中的内容

Ctrl + q 搜索文件中的内容

Ctrl + r 读取另一个文件中的内容,加载到当前编辑的文件中

Ctrl + a 将光标跳转到行首

Ctrl + e 将光标跳转到行尾

Ctrl + p 将光标跳转到上一行,也可以用代替

Ctrl + n 将光标跳转到下一行,也可用代替

Alt + \ 跳转到文件的第一行

Alt + / 跳转到文件的最后一行

Ctrl + y 跳转到上一页

Ctrl + v 跳转到下一页

Ctrl + t 剪切从当前位置到文件末尾的全部内容

Ctrl + 6 选择文本,此时移动光标就会选中部分文本

Alt + 6 复制选中的文本

Ctrl + k 剪切当前行

Ctrl + u 粘贴

vim

如果你想用 vim 做一些复杂编辑,你需要掌握它在命令模式下的一些快捷键,还需要掌握一些在编辑模式下的命令。

vim 常用快捷键和命令:

命令模式:
dd 删除当前行
yy 复制当前行
p / P 粘贴缓冲区中的内容(可以是复制或者剪切的内
容)
u 撤销更改
Ctrl + r 重做撤销的更改
gg 跳转到文件的第一行
Shift + g 跳转到文件的最后一行
d + Shift + g 删除从当前行到文件末尾的所有内容
d + g + g 删除从当前行到文件开头的所有内容
v 移动光标选中文本
y 复制选中的文本
“>” 右移选中的文本
“<” 左移选中的文本
d 剪切选中的文本
i 进入到输入模式
+ d + d 删除当前行后的 number 行,
这里的 替换为想要删除的行数
Shift + z + z 退出 vim,保存改动的内容
Shift + z + q 退出 vim,不保存改动的内容
:进入到编辑模式
编辑模式:
:set number 显示行号
:wq 保存并退出
:q 退出vim,只有当文件未做改动时才能成功退出
:q! 退出 vim,并放弃所有的更改
:r 在光标后读入另一个文件的内容,
这里的替换为想要读入的文件名
:w 文件内容另存为 filename,这里
替换为想要保存的文件名
/ 从当前行往后搜索字符串,支持正
则表达式,这里的替换为想要搜索的字符
串模式
? 从当前行往前搜索字符串,支持正
则表达式,这里的替换为想要搜索的字
符串模式
以上两种搜索方式都可以用 n 移动到后一个匹配项,N
移动到前一个匹配项
%s// 检索第一个匹配的字符
串,并将其替换为另一个字符串。这里的替换为
要搜索的字符串模式,替换为要替换的字符串
%s///g 检索所有匹配的字符
串,并将所有匹配的字符串替换为另一个字符串。这里的
替换为要搜索的字符串模式, 替换
为要替换的字符串
%s///g 检索所有匹配的字符串,
并将所有匹配的字符串替换为另一个字符串,不过在替换每一个
匹配的字符串时都会询问用户是否替换。这里的
换为要搜索的字符串模式,替换为要替换的字符

输入模式:
输入模式无快捷键

将以下内容写入到 ~/.vimrc 中,可以对 vim 进行设置,设置立即生效
vim ~/.vimrc

# 显示行号
set nu
# 复制粘贴时保持文件缩进格式
set paste
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2022-2023 柚子糖
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信