编辑
2025-01-31
计算机技术
00
请注意,本文编写于 376 天前,最后修改于 0 天前,其中某些信息可能已经过时。

目录

普通使用
命令模式
导航模式
移动光标
选择替换
编辑模式
重度使用

普通使用

命令模式

通过使用 ! 可以执行 bash 命令。

  • !ls:列出当前路径下的文件。
  • !echo "123":打印输出 123
  • %s/new/NEW/: 替换new为NEW,%表示对全部内容进行操作。s是替换命令,表示替换操作。 默认只替换每行的第一个匹配到的字符串,如果要替换每行所有匹配到的字符串,需要%s/new/NEW/g命令。

常用命令

  • wq:保存并退出当前文件
  • sp:分屏

导航模式

通过使用 : 可以执行 vim 命令。

移动光标

上下左右分别是:hjkl
前移一个单词,后移一个单词,分别是:bw
前移一屏:ctrl b
后移一屏:ctrl f
选择多行整行:shift v,然后hjkl上下左右进行选择
选择多行里面的部分内容:v,然后hjkl上下左右进行选择
搜索:/,加关键词,然后n查看下一个

选择替换

选择多行整行shift v,进入命令模式:,执行替换命令%s/xx/xxx/

编辑模式

自动补全:ctrl n,选择前一个ctrl p,选择后一个ctrl n

重度使用

配置环境变量

# 1. 设置正确的家目录 export HOME=/root # 2. 永久设置(添加到bashrc) echo "export HOME=/root" >> ~/.bashrc echo "export USER=root" >> ~/.bashrc # 3. 立即生效 source ~/.bashrc # 4. 验证 echo "HOME is now: $HOME"

创建配置文件

touch ~/.vimrc

安装插件管理器(vim-plug)

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

安装 fzf(搜索用)

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && \ ~/.fzf/install --all

安装 ripgrep(搜索用)

curl -LO https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-unknown-linux-musl.tar.gz tar -xzf ripgrep-14.1.0-x86_64-unknown-linux-musl.tar.gz cp ripgrep-14.1.0-x86_64-unknown-linux-musl/rg /usr/local/bin/ rm -rf ripgrep-14.1.0-x86_64-unknown-linux-musl*

编辑配置

vim ~/.vimrc

内容如下

" ========== 基础设置 ========== set nocompatible filetype off " ========== 插件管理器设置 ========== set rtp+=~/.vim/autoload call plug#begin('~/.vim/plugged') " ========== 插件列表 ========== " 文件树 Plug 'preservim/nerdtree' " 状态栏美化 Plug 'vim-airline/vim-airline' Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' Plug 'jiangmiao/auto-pairs' call plug#end() " ========== 重新开启文件类型 ========== filetype plugin indent on syntax on " ========== 编辑器设置 ========== set number set mouse=a set cursorline set showcmd set tabstop=4 set shiftwidth=4 set expandtab set autoindent " ========== 搜索设置 ========== set incsearch set hlsearch set ignorecase set smartcase " ========== 快捷键设置 ========== " NERDTree文件树 nnoremap <F2> :NERDTreeToggle<CR> " 保存 nnoremap <C-s> :w<CR> inoremap <C-s> <Esc>:w<CR>a " 退出 nnoremap <C-q> :q<CR> " 保存并退出 nnoremap <C-x> :wq<CR> " 清除搜索高亮 nnoremap <leader><space> :nohlsearch<CR> " ========== NERDTree设置 ========== " 自动关闭 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif " ========== 颜色主题 ========== colorscheme desert " ========== 状态栏 ========== set laststatus=2 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%H:%M\")} " ========== 搜索工具配置 ========== " 设置 ripgrep 为默认搜索工具 if executable('/usr/local/bin/rg') set grepprg=rg\ --vimgrep set grepformat=%f:%l:%c:%m,%f:%l:%m endif " 添加 Rg 命令(使用 fzf 的集成) command! -bang -nargs=* Rg \ call fzf#vim#grep( \ 'rg --column --line-number --no-heading --color=always '.shellescape(<q-args>), 1, \ <bang>0 ? fzf#vim#with_preview('up:60%') \ : fzf#vim#with_preview('right:50%:hidden', '?'), \ <bang>0) " ========== 快捷键 ========== " Ctrl+p - 文件跳转(像 VSCode) nnoremap <C-p> :Files<CR> " Ctrl+f - 全局搜索(像 VSCode Ctrl+Shift+F) nnoremap <C-f> :Rg<CR> " 搜索当前单词 nnoremap <leader>* :Rg <C-R><C-W><CR> " 导航搜索结果 nnoremap ]q :cnext<CR> nnoremap [q :cprev<CR> nnoremap <leader>q :cclose<CR> " 高亮设置 set hlsearch set incsearch nnoremap <leader>h :nohlsearch<CR>

安装插件
打开Vim并安装插件

vim

在Vim中执行安装命令
进入Vim后,输入:

:PlugInstall

然后就安装完成了

本文作者:枣子

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!