vim 命令补全怎么操作的
时间: 2023-07-21 12:51:58 浏览: 934
在 Vim 中,有多种方式可以进行命令补全操作。以下是其中一些方法:
1. 使用 Ctrl + N 或 Ctrl + P 进行补全:在命令模式下输入部分命令,然后按下 Ctrl + N 或 Ctrl + P 可以分别进行向下或向上的补全操作。这种方式可以用于命令、文件名、标签名等的补全。
2. 使用 Tab 键进行补全:在命令模式下输入部分命令,然后按下 Tab 键可以进行自动补全。如果有多个匹配项,可以多次按下 Tab 键进行切换。
3. 使用命令行模式下的补全命令:在命令模式下输入 :,进入命令行模式。然后输入部分命令,然后按下 Ctrl + D 进入补全模式。这种方式可以用于所有支持补全的命令。
4. 使用插件进行补全:Vim 提供了多种插件来增强补全功能,如 YouCompleteMe、Neocomplete 等。这些插件可以实现更智能的补全,支持多种编程语言等特性。
以上是 Vim 中部分命令补全的操作方法,希望对你有所帮助。
相关问题
Mac终端vim自动补全
### 配置 Mac OS Terminal 中 Vim 的自动补全
为了在 Mac OS 终端中配置 Vim 实现自动补全功能,可以按照如下方法操作:
安装 Homebrew 包管理工具对于简化软件安装过程非常有用。通过执行以下命令来安装 Homebrew[^2]:
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
接着利用 Homebrew 安装最新版本的 Vim 可以获得更好的特性和支持:
```bash
brew install vim
```
之后,需要为 Vim 设置插件管理系统 Vundle 来方便后续插件的管理和安装。创建或编辑 `~/.vimrc` 文件并加入下列内容以便于加载 Vundle 和其他所需插件:
```vim
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where you want to install your plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'ternjs/vim-tern'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
" Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
" Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install LSP client YouCompleteMe
Plugin 'ycm-core/YouCompleteMe'
call vundle#end() " required
filetype plugin indent on " required
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - confirms removal of unused plugins; append `!` to auto-cleanup
"
" see :h vundle for more details or doc/VUNDLE.txt
```
特别注意,在上述代码中的 `" Install LSP client YouCompleteMe"` 行下添加了对 YouCompleteMe 插件的支持,这正是提供代码自动完成的核心组件之一。
保存文件后,在终端运行下面这条指令让 Vundle 下载和安装所列的所有插件:
```bash
vim +PluginInstall +qall
```
针对 YouCompleteMe 这样的大型插件可能还需要额外编译步骤,请参照官方文档获取更详细的指导。
最后重启终端或者重新打开 Vim 应用程序使更改生效。此时应该可以在编写代码时享受到由 YouCompleteMe 提供的强大自动补全特性了。
vim自动补全头文件配置
### 配置 Vim 实现 C/C++ 头文件自动补全
为了使 Vim 支持 C/C++ 的头文件自动补全功能,可以通过安装 `YouCompleteMe` 插件来达成这一目标。以下是具体的设置方法。
#### 安装 `vim-plug`
首先,在终端中运行以下命令以安装 `vim-plug` 这一插件管理工具:
```bash
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
```
此命令将会下载并放置必要的脚本到 `.vim/autoload/` 文件夹内[^2]。
#### 编辑 `.vimrc` 添加 `YouCompleteMe` 和其他辅助插件
打开或创建用户的 `.vimrc` 文件,并加入如下配置项用于加载 `YouCompleteMe` 及其依赖的标签生成器 `gutentags`:
```vim
call plug#begin('~/.vim/plugged')
Plug 'Valloric/YouCompleteMe'
Plug 'ludovicchabant/vim-gutentags'
call plug#end()
```
上述代码片段定义了两个主要组件:一个是核心的语法解析与补全引擎——`YouCompleteMe`;另一个则是能够自动生成项目所需索引文件(tags)从而增强补全效果的扩展包——`gutentags`[^3]。
#### 设置 `YouCompleteMe` 特定选项
为了让 `YouCompleteMe` 更好地处理 C/C++ 代码中的头文件路径问题,可以在同一份 `.vimrc` 中继续追加一些特定于该插件的参数调整语句:
```vim
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
let g:ycm_min_num_of_chars_for_completion = 2
let g:ycm_complete_in_comments = 0
let g:ycm_collect_identifiers_from_tags_files = 1
```
这里指定了全局范围内的额外配置文件位置以及最小字符数触发条件等细节设定;同时也启用了从 tags 文件收集标识符的功能以便更精准地提供候选列表[^1]。
#### 创建 YCM 所需外部配置文件
最后一步是在家目录下的隐藏子文件夹`.vim/`里建立名为`.ycm_extra_conf.py`的新Python脚本作为补充说明文档供YCM读取编译期信息和其他环境变量。对于简单的C/C++工程来说可能只需要指定标准库的位置或者其他第三方库所在之处即可满足需求。
通过以上几步操作之后重启编辑器或者重新加载配置(`source ~/.vimrc`)就能享受到由这些优秀开源软件所带来的高效开发体验了!
阅读全文
相关推荐
















