freeCodeCamp/guide/chinese/vim/useful-commands/index.md

148 lines
6.6 KiB
Markdown
Raw Normal View History

---
title: Useful Commands
localeTitle: 有用的命令
---
# 有用的命令
## 基本功能
最有可能你会发现自己在“正常”模式,它可以让您通过按冒号输入命令`:`关键。 要从其他模式到达此处,您可以键入`ctrl + c`或`escape` 。
要编辑文本并以熟悉的方式移动,请按`i` ,进入“插入”模式。尝试使用“插入”模式中的箭头键移动 - 有关详细信息,请参阅下面的“导航”部分。
根据配置,您可以通过键入并输入命令来输入文件浏览器`:e .`在“正常”模式下。 'e'代表编辑,以及文件或目录的句点。
## 导航
* 光标移动:您可以使用箭头键或`h` `j` `k` `l` (左,下,上,右)
* `gg`带您到文件的开头
* `G`将您带到文件的末尾
* `:(num)`将您带到文件中的特定行例如42将您带到第42行
## 保存
1. 按`Escape`确保您处于`normal mode` ;
2. 输入`:w` “w”代表“写”;
3. 按`Enter` 。
## 保存(到新文件)
1. 按`Escape`确保您处于`normal mode` 。
2. 键入`:w newfilename` newfilename是要保存到的新文件的文件名
3. 按`Enter` 。
## 退出ViVimNvimGvim
1. 按“退出”可以进入“正常”模式
2. `:q`将软退出vim
3. `:q!`将迫使退出vim
4. `:qa`这将关闭所有打开的文件
5. `:qa!`放弃更改时关闭所有文件
6. `:q`保存并关闭当前文件
(注意:命令`:q!`将强制Vim退出而不保存。请确保先键入命令先保存`:w`如果您不想丢失所做的任何更改。)
**要么**
* 输入ZZ保存并退出
* 键入`:wq` / `:x` 保存并退出但使用常用的“w”和“q”命令
## 剪切,复制和粘贴
* `dd`删除(剪切)一行
* `yy`猛拉(复制)一行
* 您可以使用`yy`和`dd` `13dd`的数字来剪切或复制多行ex- `13dd`将剪切13行
* `p`粘贴粘贴缓冲区中的所有内容
## 粘贴代码块
通常,您会发现自己正在寻找问题的解决方案,并且发现有人编写了一个代码块,可以完全满足您的需求。 如果您尝试将代码直接复制并粘贴到Vim中您可能会发现代码格式错误或未正确粘贴。 这是因为Vim读取了一个接一个地粘贴的每个字符这意味着任何激活Vim快捷键的键组合都将被执行Vim将尝试并且失败自动缩进粘贴的代码。
要解决此问题您可以使用Vim的**粘贴模式** ,您可以通过进入正常模式激活(按`escape`或`crtl + c` )并键入`:set paste` 然后按ENTER键。 您现在处于_粘贴_模式。 然后,您可以使用`i`输入插入模式并粘贴文本/代码块而不会出现任何问题! 要在没有粘贴模式的情况下返回常规Vim您可以进入正常模式 `escape`或`crtl + c` )并输入`:set nopaste` 然后按ENTER键。
## 设置行号
1. 按“退出”可以进入“正常”模式
2. 输入`:set number` ,按回车键
要默认设置行号:
1. 使用`vim ~/.vimrc`打开/创建vim配置文件
2. 添加行`set number` 按Enter键
## 在VIM中打开文件
在VIM中您可以通过将光标设置在路径上并键入`gf`在同一窗口中打开文件。这将告诉VIM光标所在的当前文本是您要打开的文件。该文件将在VIM终端内打开因此如果要返回上一个窗口只需键入`ctrl+o` 。这将告诉VIM转到上一个屏幕。
## 如何拆分窗户
您可以拆分vim窗口并同时编辑2个或更多文件。
* `:split` - >拆分窗口(水平)
* `:vsplit` - >拆分窗口(垂直)
* `:vertical` new - >在新窗口中打开一个新文件
要在窗口之间移动,您可以使用以下命令:
* `CTRL-W h` - 移动到左侧的窗口
* `CTRL-W j` - 移动到下面的窗口
* `CTRL-W k` - 移动到上面的窗口
* `CTRL-W l` - 移动到右侧的窗口
* `CTRL-W t` - 移动到顶部窗口
* `CTRL-W b` - 移动到底部窗口
## 撤销重做
应在**正常模式下**执行这些操作。
**撤消** :按`u`或输入`:undo` ,然后按`Enter` 。
**重做** :按`U` `Shift` + `u` )或输入`:redo`并按`Enter` 。
## 在特定行中打开文件
* vi filename + n其中n是行号
## 打开搜索单词/术语的文件
* vi filename + / word其中word是你要找的。光标将定位在单词的第一个出现位置。
## 在Vim中搜索文件
在正常模式下(按`escape`键确认),您可以通过键入`/` ,然后按您要查找的术语搜索文档中的任何术语,然后按`enter` 。例如,键入`/hello`并按`enter`键以在当前文件中搜索单词“hello”。
您可以按`n`跳过搜索词的下一个匹配项,或按`N`跳过上一个匹配项。 `*`搜索光标下方的单词。
如果要突出显示所有搜索匹配类型`:set hlsearch`或使用缩写命令`:set hls` 。使用`:set noh`关闭突出显示直到下一次搜索。
## 编译项目
Vim与`make` build自动化工具紧密集成。如果您的项目使用Makefile则可以在Vim命令行键入`:make`以运行系统的`make`工具。 Vim将在屏幕上打印`make`的输出, `make`在`make`命令完成时将您带到第一个错误(如果有)。然后,您可以分别使用`:cn`和`:cp`命令跳转项目代码中的编译错误和警告,分别用于下一个和上一个问题。
## 查找和替换
1. 按`Escape`确保您处于`normal mode` ;
2. 输入`:`您将切换到`command mode` ;
3. 输入`%s,word_to_be_replaced,new_word,g` ;
4. 按`ENTER` 。
重要提示:如果要替换单词的第一个出现,请删除末尾的`g` 。
## 我想学习Vim
对于初学者来说Vim附带内置教程您可以通过从终端运行`vimtutor`来访问它这将启动一个关于_如何开始使用Vim_的交互式教程大约需要15分钟才能完成
如果你不为自信的英语你可以lanch `vimtutor`在您所选择的语言。例如`vimtutor fr`将用法语启动教程!
## 其他有用的命令
* `gg=G`修复了整个文件的缩进
* 如果要了解有关特定命令的更多信息,请键入`:help`后跟命令名称ex-helpw
阅读其余的Vim指南以便更好地理解这个强大的编辑器。
## 其他资源
* [Vim高尔夫](https://vimgolf.com/) - 从vim挑战中学习以获得最低击键次数的好方法。如果您无法解决挑战您可以看到其他人提交的解决方案。
* [Vim Adventures](https://vim-adventures.com/) - 一种有趣和游戏化的方法来学习Vim你可以在游戏中的每个新关卡中获得不同的击键。
* [Open Vim](http://www.openvim.com/) - 一个教授基本命令的交互式vim教程