linux基础(二)
1,命令模式常用的一些操作
vim的三个模式: 格式vim 文件名
-
命令模式: 使用vim 文件名, 默认进入的就是命令模式. 不能直接去写数据,只能通过命令对文件内容进行增删改查
-
插入模式(编辑模式): 相当于在编辑器中对文件内容进行修改.
- 进入到插入模式的方法
- 由命令模式进入插入模式: 点击 i 键
- 由编辑模式进入插入模式: 先点击 ESC 键 进入 命令模式, 然后点击 i 键进入 插入模式
- 进入到插入模式的方法
-
编辑模式(末行模式): 表示当操作完文件之后,需要对文件进行保存或者退出.
- 如果当前模式是命令模式: 直接点击 shift + : , 后加加上保存或者退出的按键, 例如 (:w 保存) (:q退出)
- 如果当前模式是插入模式
- 首先由插入模式进入到命令模式: 按 ESC 键
- 由命令模式进入到编辑模式: 点击 shift + : , 进行对文件的保存或者退出
-
shift + z + z : 保存并退出当前文件
-
vi a.txt +3: 表示进入到命令模式, 光标定位在 第三行
-
vi a.txt +: 表示 光标定位在 最末行
-
G: 定位到文件最末行
-
gg: 定位到文件首行
-
ngg: 表示从任何其他行,定位到第n行. 比如 5gg, 表示定位到第5行. 如果还想继续从当前行往下偏移5行,点击 5,然后点击enter
-
shift + 4: 表示定位到 当前行 最末尾的字符
-
shift + 6 或者 0数字: 表示定位到 当前行 最开始的字符
-
yy: 复制当前行
-
nyy: 复制由当前行开始往下的n行, 比如当前行在第2行, 如果执行3yy,表示 复制第2行到第4行的内容
-
p: 在当前行处,粘贴之前复制的内容
-
ctrl + f : 下翻一页
-
ctrl + b: 上翻一页
-
ctrl + d: 下翻半页
-
ctrl + u : 上翻 半页
-
x : 表示 删除光标 右边的一个字符
-
nx: 表示 删除 光标 右边 n 个字符
-
X (shift + x): 表示 删除光标 左边的一个字符
-
nX (3 + shift + x): 表示 删除光标 左边的 3个字符
-
dd: 表示 删除当前行
-
ndd: 表示删除当前行 下面的 n 行
-
u: 表示 撤销上一次的操作, 可以连续点击 u, 表示 撤销上n次的操作
-
ctrl + r : 表示反撤销
在三种模式中,如果是非正常退出. 比如点击 ctrl + z 退出,或者电脑死机. 那么这种情况会生成一个 名称为 .文件名.swp的交换文件. 比如 .a.txt.swp . 如果生成这种交换文件. 那么下一次 用vim 打开文件, 会出现提示信息,需要点击 enter 才能继续编辑. 通常的做法都是把这个隐藏的交换文件删除掉.就是执行 rm -rf .a.txt.swp
由 命令模式 进入 插入模式 常用的按键
- i : 在当前光标插入
- I : 在当前行 非空字符处 插入
- a : 在光标的下一个字符处 插入
- shift + a (A): 在当前行的末尾插入
- o : 在当前行的下一行的空行处插入
- shift + o (O): 在当前行的上一行的空行处插入
- s : 删除光标输在字符,并进入输入模式
- shift + s (S): 删除光标所在的行,并进入输入模式
编辑模式(末行模式) 常用的按键
- :w : 表示保存文件不退出
- :q : 表示 退出, 一般有两种用法. 要么 是 :wq 保存退出. 要么是 :q! 不保存文件强制退出
- :wq :表示 保存文件并退出
- :x : 表示 保存文件并退出
- :q! : 表示强制退出,不保存修改
- :w 新文件名称: 文件修改之后,保存一个新的文件
- :set nu : 显示文件内容的 行号
- :set nonu: 隐藏文件内容的 行号
- [:]/关键字 : 这个 : 可以写 也可以不写, 输入完字符后, 点击 回车, 会从开头去找第一个匹配到的关键字.
- 如果想继续 往下 找相同的关键字,那么点击 n
- 如果想 往上 找相同的关键字,点击 shift + n (N)
- [:]?关键字: 从文件末尾查找匹配的关键字
- N: 从上往下找匹配的关键字
- n: 从下往上找匹配的关键字
- :ns/查找的字符/替换的字符[/g]
- n表示第几行
- /g表示是否全局替换
- 例如 5s/hello/HELLO,表示的意思: 把第5行 第一次匹配到的 hello 改写成 HELLO
- 例如 5s/hello/HELLO/g表示的意思: 把 第5行 所有匹配的的 hello 全部改写成 HELLO
- :m,ns/查找的字符/替换的字符[/g]
- 查找第m行到第n行的数据,并且替换, /g的用法和上面是一样的
- :%s/查找的字符/替换的字符[/g]
- 查找所有行进行替换, /g的用法和上面是一样的
- :n 表示将光标定位到第 n 行
在终端输入命令,如果想从命令开头跳到命令末尾,快捷键是 ctrl + e
如果想从命令末尾跳到命令开头,快捷键是 ctrl + a