###
#### 1. 启动和退出
- 启动
如果文件不存在,`vim` 会创建一个新文件。
- 退出 `vim`:
- 保存并退出**:按 `Esc` 进入命令模式,然后输入 `:wq` 并按 `Enter`。
- **保存**:按 `Esc` 进入命令模式,然后输入 `:w` 并按 `Enter`。
- **退出而不保存**:按 `Esc` 进入命令模式,然后输入 `:q!` 并按 `Enter`。
- **强制退出**(如果文件未保存):按 `Esc` 进入命令模式,然后输入 `:q!` 并按 `Enter`。
#### 2. **Vim 模式
`vim` 有三种主要的模式:
- 普通模式(Normal Mode)**:这是默认模式,进行移动光标、删除、复制、粘贴等操作。按 `Esc` 可以确保处于普通模式。
- **插入模式(Insert Mode)**:用于输入文本。在普通模式下按 `i` 进入插入模式,按 `Esc` 回到普通模式。
- **命令模式(Command Mode)**:用于输入命令(例如保存、退出、搜索等)。按 `:` 进入命令模式。
#### 3. **基本操作
##### 移动光标
- 方向键**:可以使用方向键(上下左右)来移动光标。
- **h**:向左移动一个字符。
- **j**:向下移动一行。
- **k**:向上移动一行。
- **l**:向右移动一个字符。
- **w**:跳到下一个单词的开头。
- **b**:跳到前一个单词的开头。
- **0**:跳到行首。
- **$**:跳到行尾。
##### 删除文本
- **d**:删除字符,按 `d` 后按方向键或者其它移动命令,删除光标到目标位置的内容。
- **dd**:删除当前行。
- **d$**:删除从光标当前位置到行尾的内容。
- **d0**:删除从光标当前位置到行首的内容。
##### 复制和粘贴
- **yy**:复制当前行。
- **y$**:复制从光标到行尾的内容。
- **p**:粘贴复制的内容(在光标之后)。
- **P**:粘贴复制的内容(在光标之前)。
##### 撤销和重做
- **u**:撤销上一步操作。
- **Ctrl + r**:重做撤销的操作。
##### 搜索和替换
- /关键词**:搜索关键词。按
- ?关键词**:反向搜索关键词(从光标向上搜索)。
- :s/old/new/g**:替换当前行的所有
- :%s/old/new/g**:替换整个文件的所有 `old` 为 `new`。
##### 进入插入模式
- **i**:在光标当前位置前插入文本。
- **I**:在当前行的行首插入文本。
- **a**:在光标后插入文本。
- **A**:在当前行的行尾插入文本。
- **o**:在当前行下方插入新的一行并进入插入模式。
- **O**:在当前行上方插入新的一行并进入插入模式。
##### 保存和退出
- :w**:保存文件。
- :w 文件名**:另存为新文件。
- :q**:退出 `vim`。
- :q!**:强制退出,不保存文件。
- :wq**:保存并退出。
- :x**:保存并退出(与 `:wq` 相同)。
#### 4. **高级功能
##### 分屏操作
- :split 或 :sp**:水平分割窗口。
- :vsplit** 或 :vsp**:垂直分割窗口。
- **Ctrl + w + w**:在多个窗口之间切换。
- **Ctrl + w + h/j/k/l**:在分屏中切换焦点(左、下、上、右)。
##### 标签页和窗口管理
- :tabnew**:打开一个新的标签页。
- :tabn 或 `gt`:切换到下一个标签页。
- :tabp 或 `gT`:切换到上一个标签页。
- :tabc**:关闭当前标签页。
##### 自定义配置
你可以通过编辑 `~/.vimrc` 配置文件来定制 `vim` 的行为。例如,设置自动缩进:
```bash
set tabstop=4 " 设置 Tab 键的宽度为 4 个空格
set shiftwidth=4 " 设置缩进时的宽度为 4 个空格
set expandtab " 将 Tab 键转换为空格
set autoindent " 自动缩进
```
#### 5. **插件管理
- Vundle 是一个常用的 Vim 插件管理器,可以轻松地安装和管理 Vim 插件。
安装 Vundle:
在
运行
#### 总结
- **模式**:`vim` 有普通模式、插入模式和命令模式,切换模式是
- **基本操作**:如光标移动、删除、复制粘贴、撤销重做、搜索替换等。
- **高级操作**:分屏、标签页、窗口管理、自定义配置等。
- **插件**:通过插件可以扩展
#vim
vim 的基本用法vim 是一个强大的文本编辑器,广泛应用于程序开发、系统管理、配置文件编辑等场景。它继承了 vi 编辑器,并增加了大量的功能和灵活性。#### 1. 启动和退出
- 启动
vim 编辑器: vim 文件名
如果文件不存在,`vim` 会创建一个新文件。
- 退出 `vim`:
- 保存并退出**:按 `Esc` 进入命令模式,然后输入 `:wq` 并按 `Enter`。
- **保存**:按 `Esc` 进入命令模式,然后输入 `:w` 并按 `Enter`。
- **退出而不保存**:按 `Esc` 进入命令模式,然后输入 `:q!` 并按 `Enter`。
- **强制退出**(如果文件未保存):按 `Esc` 进入命令模式,然后输入 `:q!` 并按 `Enter`。
#### 2. **Vim 模式
`vim` 有三种主要的模式:
- 普通模式(Normal Mode)**:这是默认模式,进行移动光标、删除、复制、粘贴等操作。按 `Esc` 可以确保处于普通模式。
- **插入模式(Insert Mode)**:用于输入文本。在普通模式下按 `i` 进入插入模式,按 `Esc` 回到普通模式。
- **命令模式(Command Mode)**:用于输入命令(例如保存、退出、搜索等)。按 `:` 进入命令模式。
#### 3. **基本操作
##### 移动光标
- 方向键**:可以使用方向键(上下左右)来移动光标。
- **h**:向左移动一个字符。
- **j**:向下移动一行。
- **k**:向上移动一行。
- **l**:向右移动一个字符。
- **w**:跳到下一个单词的开头。
- **b**:跳到前一个单词的开头。
- **0**:跳到行首。
- **$**:跳到行尾。
##### 删除文本
- **d**:删除字符,按 `d` 后按方向键或者其它移动命令,删除光标到目标位置的内容。
- **dd**:删除当前行。
- **d$**:删除从光标当前位置到行尾的内容。
- **d0**:删除从光标当前位置到行首的内容。
##### 复制和粘贴
- **yy**:复制当前行。
- **y$**:复制从光标到行尾的内容。
- **p**:粘贴复制的内容(在光标之后)。
- **P**:粘贴复制的内容(在光标之前)。
##### 撤销和重做
- **u**:撤销上一步操作。
- **Ctrl + r**:重做撤销的操作。
##### 搜索和替换
- /关键词**:搜索关键词。按
n 跳到下一个匹配项,按 N 跳到上一个匹配项。- ?关键词**:反向搜索关键词(从光标向上搜索)。
- :s/old/new/g**:替换当前行的所有
old 为 `new`。- :%s/old/new/g**:替换整个文件的所有 `old` 为 `new`。
##### 进入插入模式
- **i**:在光标当前位置前插入文本。
- **I**:在当前行的行首插入文本。
- **a**:在光标后插入文本。
- **A**:在当前行的行尾插入文本。
- **o**:在当前行下方插入新的一行并进入插入模式。
- **O**:在当前行上方插入新的一行并进入插入模式。
##### 保存和退出
- :w**:保存文件。
- :w 文件名**:另存为新文件。
- :q**:退出 `vim`。
- :q!**:强制退出,不保存文件。
- :wq**:保存并退出。
- :x**:保存并退出(与 `:wq` 相同)。
#### 4. **高级功能
##### 分屏操作
- :split 或 :sp**:水平分割窗口。
- :vsplit** 或 :vsp**:垂直分割窗口。
- **Ctrl + w + w**:在多个窗口之间切换。
- **Ctrl + w + h/j/k/l**:在分屏中切换焦点(左、下、上、右)。
##### 标签页和窗口管理
- :tabnew**:打开一个新的标签页。
- :tabn 或 `gt`:切换到下一个标签页。
- :tabp 或 `gT`:切换到上一个标签页。
- :tabc**:关闭当前标签页。
##### 自定义配置
你可以通过编辑 `~/.vimrc` 配置文件来定制 `vim` 的行为。例如,设置自动缩进:
```bash
set tabstop=4 " 设置 Tab 键的宽度为 4 个空格
set shiftwidth=4 " 设置缩进时的宽度为 4 个空格
set expandtab " 将 Tab 键转换为空格
set autoindent " 自动缩进
```
#### 5. **插件管理
- Vundle 是一个常用的 Vim 插件管理器,可以轻松地安装和管理 Vim 插件。
安装 Vundle:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim在
~/.vimrc 中配置插件:set nocompatible
filetype off
" 设置插件管理器
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" 插件列表
Plugin 'tpope/vim-fugitive'
Plugin 'scrooloose/nerdtree'
call vundle#end()
filetype plugin indent on运行
:PluginInstall 来安装插件。#### 总结
- **模式**:`vim` 有普通模式、插入模式和命令模式,切换模式是
vim 操作的关键。- **基本操作**:如光标移动、删除、复制粘贴、撤销重做、搜索替换等。
- **高级操作**:分屏、标签页、窗口管理、自定义配置等。
- **插件**:通过插件可以扩展
vim 的功能,增加开发效率。vim 学起来有些陡峭,但一旦掌握,就能极大提高编辑和编程的效率。掌握了基础操作后,可以深入了解更多高级功能和插件。#vim