vim和nano的基础教程(很基础的那种)

0.如何选择

nano 的用户界面相对简单直观,如果习惯了Windows上的图形化操作,那就nano 更易于理解。nano 的快捷键也很好记。

vim 是提供了大量的功能和定制选项,处理复杂的文本编辑任务时非常高效。vim 有大量的快捷键和组合键,不好记

如果你是初学者,尤其是如果你之前没有使用过类 Unix 系统的命令行工具,可以先用nano过渡;如果你打算长期使用命令行文本编辑器,并且愿意投入时间来学习它,vim 可能更合适。一旦掌握了 vim,它的高效性和强大的功能可以大大提高工作效率。

1.nano基础操作

bash 复制代码
nano readme.md

使用nano打开文件,或创建文件(如果没有这个文件则会创建)

1.1编辑

直接使用光标,移动到指定位置,删除复制剪切什么的和你对记事本操作上一致的,当然也有一些nano的操作,比如剪切是Ctrl+K ,粘贴上Ctrl+U,其实不如Ctrl CV好记。

1.2保存

  • 保存文件 :在 nano 中,按 Ctrl + O,然后按 Enter 确认文件名。
  • 退出 nano
    • 如果你想要保存更改并退出,按 Ctrl + X,如果保存过了,会直接退出,如果没保存,按 Y 确认保存,最后按 Enter
    • 如果你不想保存更改并退出,按 Ctrl + X,然后按 N。

2.vim

bash 复制代码
vim readme.md

2.1 编辑

进入之后叫普通模式,不能直接编辑内容,把光标挪到你想编辑的地方,按下 i 即可进入编辑模式,按Esc退出编辑模式,按:进入命令行模式。

下面的命令都是在普通模式下执行的

  • i:进入插入模式,可以在光标位置开始插入文本。
  • Esc:退出插入模式,返回普通模式。
  • ::进入命令行模式,可以在底行输入命令。

下面的是比较进阶的,初学者记住上面三个就行

  • h:向左移动光标。

  • j:向下移动光标。

  • k:向上移动光标。

  • l:向右移动光标。

  • w:移动到下一个单词的开头。

  • b:移动到上一个单词的开头。

  • e:移动到当前单词的末尾。

  • 0(数字零):移动到行首。

  • $:移动到行尾。

  • gg:跳转到文件的第一行。

  • G:跳转到文件的最后一行。

  • nG:跳转到第 n 行。

  • x:删除光标下的字符。

  • dd:删除整行。

  • dw:删除光标到下一个单词的开头。

  • d$:删除光标到行尾的内容。

  • p:粘贴(在删除或剪切后)。

  • u:撤销最后一次操作。

  • Ctrl + r:重做最后一次撤销。

  • /text:从当前光标位置向下搜索 text
  • ?text:从当前光标位置向上搜索 text
  • n:重复上一次搜索。
  • N:反向重复上一次搜索。
  • :%s/old/new/g:全文替换 oldnew
  • y:复制(yank)选中的文本。
  • yy:复制整行。
  • p:在光标后粘贴。
  • P:在光标前粘贴。

2.2 保存

在普通模式下输入:即可进入命令行模式,输入:wq,随即保存并退出

  • :w:保存文件(write)。
  • :wq :保存并退出。
  • :q!:不保存退出。
  • :e!:放弃所有更改,重新加载文件。
相关推荐
maply2 小时前
VSCode 中的 Git Graph扩展使用详解
ide·git·vscode·编辑器·扩展
花花鱼3 小时前
vscode script 中间的function import等关键字 先高亮,然后又灰了,并且按ctrl+/ 注释以html的形式,导致报错处理
ide·vscode·编辑器
深度Linux3 小时前
Linux网络编程中的零拷贝:提升性能的秘密武器
linux·linux内核·零拷贝技术
chian-ocean7 小时前
从理论到实践:Linux 进程替换与 exec 系列函数
linux·运维·服务器
拎得清n7 小时前
UDP编程
linux
敖行客 Allthinker7 小时前
从 UTC 日期时间字符串获取 Unix 时间戳:C 和 C++ 中的挑战与解决方案
linux·运维·服务器·c++
浅陌sss8 小时前
PhotoShop中JSX编辑器安装
编辑器
夏尔Gaesar9 小时前
Vim安装与配置教程(解决软件包Vim没有安装可候选)
linux·编辑器·vim
hunter2062069 小时前
如何监控ubuntu系统某个程序的运行状态,如果程序出现异常,对其自动重启。
linux·chrome·ubuntu
慕雪华年10 小时前
【Linux】opencv在arm64上提示找不到libjasper-dev
linux·运维·opencv