vim 订阅
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。 展开全文
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。
信息
优    点
功能强大、高度可定制
外文名
VIM
平    台
Unix、Linux、Mac OS、Windows
中文名
文本编辑器
功    能
文本编辑
应用范围
计算机
VIM简介
Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 [1]  vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时VIM与很多快捷键设置和正则表达式类似,可以辅助记忆。并且vim针对程序员做了优化。 [1] 
收起全文
精华内容
下载资源
问答
  • vim
    千次阅读
    2021-09-09 22:34:07

    Termux Vim及Vim插件安装与配置

    1. 前言

    工欲善其事,必先利其器。写程序之前首先要有一个好用的编辑器。在Termux中,最好用的编辑器就是Vim了。

    2. Vim

    2.1. 简介

    Vim是一个从Vi发展出来的著名的功能强大、高度可定制的文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

    github项目地址

    2.2. 安装

    pkg install vim
    
    # 让Vim支持Python编写的插件
    pkg install vim-python
    
    # 不能这么写,否则就会安装失败
    # pkg install vim vim-python
    
    # 设置默认编辑器为Vim
    export EDITOR=vim
    

    2.3. 配置

    Vim配置文件的路径:$HOME/.vimrc
    插件安装及配置见下文

    3. Vim插件管理器(Vim-plug)

    3.1. 简介

    Vim-plug是Vim的一个插件管理器, 用于方便、快速的安装、删除、更新Vim插件。

    github项目地址

    3.2. 安装

    git clone git://github.com/junegunn/vim-plug.git ~/.vim/autoload/
    

    3.3. 配置

    把下面的代码放在 $HOME/.vimrc 里面。

    set nocompatible  " 去除Vim一致性
    filetype off
    
    call plug#begin('~/.vim/plugged')
    
    " 安装的插件放在这
    
    call plug#end()
    filetype plugin indent on
    
    " filetype plugin on  " 忽视插件改变缩进
    

    3.4. 使用

    Vim命令行模式下,常用的命令如下。

    命令功能
    PlugStatus列出所有已安装插件
    PlugInstall安装.vimrc中安装的插件
    PlugUpdate更新.vimrc中安装的插件
    PlugClean删除.vimrc中没有安装的插件
    PlugSearch搜索插件

    4. 中文文档(vimcdoc)

    4.1. 简介

    这个插件能够让帮助文档变成中文的。

    github项目地址

    4.2. 安装

    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!

    Plug 'yianwillis/vimcdoc'
    

    5. 主题(vim-colors-solarized)

    5.1. 简介

    一个Vim主题

    github项目地址

    5.2. 安装

    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!

    把下面的代码放在.vimrc的 call plug#begin()call plug#end() 之间,然后在命令行模式下输入 PlugInstall 并等待安装完成就行了。

    Plug 'altercation/vim-colors-solarized'
    

    5.3. 配置

    配置插件,把要下列插件配置放在 $HOME/.vimrc 里面。

    set number  " 显示行号
    set nowrap  " 不自动换行
    set cursorline  "高亮当前行
    " set cursorcolumn  " 高亮当前列
    
    " 语法高亮
    syntax enable
    syntax on
    
    let g:solarized_termtrans = 1  " 使用 termnal 背景
    let g:solarized_termcolors=256  " 开启256色
    let g:solarized_visibility = 'high'  " 特殊字符高亮
    
    set rtp+=~/.vim/plugged/vim-colors-solarized
    
    " GUI模式浅色背景,终端模式深色背景并开启256色支持
    if has('gui_running')
        set background=light
    else
        set t_Co=256
        set background=dark
    endif
    
    " 设置主题为solarized
    colorscheme solarized
    

    6. 目录树(NERDTree)

    6.1. 简介

    NERDTree是Vim编辑器的文件系统浏览器。使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件进行阅读或编辑,并执行基本的文件系统操作。

    GitHub项目地址

    6.2. 效果图

    NERDTree效果图

    6.3. 安装

    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!

    把下面的代码放在 $HOME/.vimrccall plug#begin()call plug#end() 之间,然后在命令行模式下输入 PlugInstall 并等待安装完成就行了。

     Plug 'scrooloose/nerdtree'
    

    6.4. 配置

    配置插件,把要下列插件配置放在 $HOME/.vimrc 里面。

    let NERDTreeHighlightCursorline = 1  " 高亮当前行
    let NERDTreeShowLineNumbers = 1  " 显示行号
    " 忽略列表中的文件
    let NERDTreeIgnore = ['\.pyc$', '\.pyo$']
    
    " 启动Vim时启动目录树并把光标放回另一个窗口
    " autocmd VimEnter * NERDTree | wincmd p
    
    " 启动Vim在没有文件参数的情况下时启动目录树
    autocmd StdinReadPre * let s:std_in=1
    autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | endif
    
    " 如果目录树是唯一留在唯一选项卡中的窗口,则退出Vim。
    autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
    

    7. 标签导航(Tagbar)

    7.1. 简介

    标签栏提供了一个简单的方法来浏览当前文件中的标签并获取其结构概述。它通过创建一个侧边栏,显示当前文件的ctags生成的标签,按他们的范围。

    GitHub项目地址

    7.2. 安装

    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!

    安装依赖

    pkg install ctags
    

    把下面的代码放在 $HOME/.vimrccall plug#begin()call plug#end() 之间,然后在命令行模式下输入 PlugInstall 并等待安装完成就行了。

    Plug 'preservim/tagbar'
    

    7.3. 配置

    let g:tagbar_ctags_bin = 'ctags'  " 标签依赖ctags
    let g:tagbar_width = 30  " 宽度为30列,默认30
    let g:tagbar_autofocus = 1  " 打开标签导航时光标在该页面内
    " let g:tagbar_left = 1  " 让标签导航在页面左侧显示
    let g:tagbar_sort = 0  " 标签不排序
    

    8. 标签列表(taglist.vim)

    8.1. 简介

    提供源代码文件结构的概述,并允许您可以高效浏览不同来源代码文件编程语言。 您可以访问标签列表插件主页。

    GitHub项目地址

    8.2. 安装

    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!

    安装依赖

    pkg install ctags
    

    把下面的代码放在 $HOME/.vimrccall plug#begin()call plug#end() 之间,然后在命令行模式下输入 PlugInstall 并等待安装完成就行了。

    Plug 'vim-scripts/taglist.vim'
    

    8.3. 配置

    let Tlist_Show_One_File  = 1  " 只显示当前文件的标签
    " let Tlist_GainFocus_On_ToggleOpen = 1  " 打开标签列表时光标跳到该窗口
    let Tlist_Exit_OnlyWindow = 1  " 标签列表为最后一个窗口时退出 Vim
    " let Tlist_Use_Left_Window = 1  " 在左侧显示
    let Tlist_File_Fold_Auto_Close = 1  " 自动折叠
    let Tlist_Auto_Update = 1  " 自动更新
    

    9. 状态栏优化(vim-airline)

    9.1. 简介

    这个插件能够让你拥有一个美观的状态栏。

    GitHub项目地址

    9.2. 效果图

    Vim-airline效果图

    9.3. 安装

    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!

    把下面的代码放在 $HOME/.vimrccall plug#begin()call plug#end() 之间,然后在命令行模式下输入 PlugInstall 并等待安装完成就行了。

    Plug 'vim-airline/vim-airline'
    

    9.4. 配置

    let g:airline_powerline_fonts = 1  " 使用 powerline 打过补丁的字体
    let g:airline#extensions#tabline#enabled = 1  " 开启 tabline
    let g:airline#extensions#tabline#buffer_nr_show = 1  " 显示 buffer 编号
    let g:airline#extensions#ale#enabled = 1  " enable ale integration
     
    " 状态栏显示图标设置
    if !exists('g:airline_symbols')
        let g:airline_symbols = {}
    endif
    

    10. 批量注释(nerdcommenter)

    10.1. 简介

    这个插件能够快速的批量注释大量代码。

    github项目地址

    10.2 安装

    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!

    把下面的代码放在 $HOME/.vimrccall plug#begin()call plug#end() 之间,然后在命令行模式下输入 PlugInstall 并等待安装完成就行了。

    Plug 'scrooloose/nerdcommenter'
    

    10.3 配置

    let NERDSpaceDelims = 1  " 让注释符与语句之间留一个空格
    let NERDCompactSexyComs = 1  " 多行注释时样子更好看
    let g:NERDDefaultAlign = 'left'  "将行注释符左对齐
    

    10. 缩进线(indentLine)

    10.1. 简介

    这个插件能够显示出缩进线。

    github项目地址

    10.2 安装

    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!
    需要安装Vim插件管理器(Vim-plug)!!!

    把下面的代码放在 $HOME/.vimrccall plug#begin()call plug#end() 之间,然后在命令行模式下输入 PlugInstall 并等待安装完成就行了。

    Plug 'Yggdroot/indentLine'
    

    10.3 配置

    let g:indentLine_char_list = '┊'  " 更改缩进线字符
    
    更多相关内容
  • vim:myvimrepo

    2021-06-27 17:10:09
    vim myvimrepo(old vim setting)相关设定说明$\vim\vimrc Your personal vimrc. $\vim\viminfo Dynamic info for 'viminfo'. 记录你编辑过的档案$\vim\vimfiles\ftplugin*.vim 'Filetype plugins 你要加入的套件' $\...
  • 仅包括在单个.vim文件中下载的.vim 。 有关在vim.org上进行黑客入侵的信息,请参见分支。 政策 荣誉制度生效! 欢迎新方案! 上游更新被接受! 非上游更新被接受为派生方案:选择一个新文件名; 引用原文! 还...
  • vim文件我的个人.vim目录
  • vim配置+各种颜色方案

    2017-02-12 23:42:40
    vim配置+各种颜色方案
  • vim的c.vim和cpp.vim文件

    2014-08-12 14:14:27
    vim的c.vim和cpp.vim文件,替换之后可以高亮显示函数名称,包括STL里的类型名和函数名
  • vim-install.zip

    2020-08-15 16:05:31
    dos 系统下的vim程序,安装方式,创建vim71,解压文件提取文件到vim71,详细使用方法https://blog.csdn.net/weixin_38709708/article/details/83057207
  • vim配置(程序自动补全)

    热门讨论 2015-12-26 23:13:23
    使用过Source Insight的人一定对它的自动补全功能印象深刻,...这里,我将自己用的配置文件发给大家,大家可以移步(待会会补上地址),只要简单的两步,就能实现vim的程序自动补全功能,大大增加了在vim上的开发效率。
  • vim离线完整安装包,支持ubuntu12,包括vim-common_7.3.429-2ubuntu2_i386.deb,vim-runtime_7.3.429-2ubuntu2_all.deb,vim_7.3.429-2ubuntu2_i386.deb
  • dot.vim:我的VIM配置

    2021-05-22 03:56:16
    我的VIM配置 这是我的vim配置,主要用于haskell开发,但也对其他语言提供了一些额外的支持。 组织 vimrc文件在rc目录中分为多个文件。 插件使用Vundle进行管理。 快速开始 将此git仓库克隆到某个地方。 cd dot.vim...
  • NeoBundle ' syngan/vim-vimlint ' , { \ ' depends ' : ' ynkdir/vim-vimlparser ' } 用法 call vimlint#vimlint (filename [, param]) call vimlint#vimlint ( ' vimlint.vim ' ) call vimlint#vimlint ( ...
  • VSCode中Vim使用(详细)

    万次阅读 2021-12-21 11:01:35
    Vim基础 vim模式及转换 普通模式 NORMAL 插入模式 INSERT 可视模式 VISUAL 命令模式 : 替换模式REPLACE

    Vim基础

    键映射

    {
      /* vim */
      "vim.incsearch": true,
      "vim.useSystemClipboard": true,
      // "vim.hlsearch": true, 对/字符串的搜索方式来说,搜索到的结果一直高亮显示,不设置这一项美观些
      "vim.easymotion": true, //  启用vim-easymotion
      "vim.leader": "<space>", //  easymotion中,leader键映射为空格键
      "vim.sneak": true, // 启用vim-sneak
      "vim.insertModeKeyBindings": [
        {
          "before": ["j", "j"],
          "after": ["<Esc>"]
        }
      ],
      "vim.normalModeKeyBindingsNonRecursive": [
        // 到行首^映射为H,到行尾$映射为L
        {
          "before": ["H"],
          "after": ["^"]
        },
        {
          "before": ["L"],
          "after": ["$"]
        },
        // easymotion快速跳转映射,s + <char>
        {
          "before": ["<leader>", "s"],
          "after": ["<leader>", "<leader>", "s"]
        },
        // leader+u/d 代替 Ctrl+u/d 使页面向上/下滚动半屏
        {
          "before": ["leader", "u"],
          "after": ["<C-u>"]
        },
        {
          "before": ["leader", "d"],
          "after": ["<C-d>"]
        },
        // 删到行首/行尾  暂时只能用leader + H/L,若dH/L会删除此处到代码开头/结尾
        {
          "before": ["leader", "H"],
          "after": ["d", "^"]
        },
        {
          "before": ["leader", "L"],
          "after": ["d", "$"]
        }
      ],
      // 可视模式
      "vim.visualModeKeyBindingsNonRecursive": [
        {
          "before": ["H"],
          "after": ["^"]
        },
        {
          "before": ["L"],
          "after": ["$"]
        }
      ],
      "vim.useCtrlKeys": true, //结合下面的"vim.handleKeys"配置
      "vim.handleKeys": {
        "<C-a>": false,
        "<C-f>": false,
        // 带有vim插件的vscode,它的Ctrl+w是由vscode控制,非vim插件扩展快捷键控制。若改为true,则就是了。
        "<C-w>": false
      }
    }
    

    模式

    普通模式 Normal 插入模式 Insert 可视模式 Visual 命令模式 : 替换模式Replace在这里插入图片描述
    :若配置了"vim.sneak": true则s与S就不起作用

    光标移动

    字符单词跳转句和段
    h 左w下一个单词开头0 行首f char 跳到char位置( 到句首
    j 下b本单词或上一个单词开头^ 行首非空字符F char 反向) 到句尾
    k 上e本单词或下一个单词结尾$ 行尾t char char前一位置{ 到段首
    l 右ge上一个单词结尾gg 首行T char char后一位置} 到段尾
    W长单词 E长单词 B长单词G 尾行; 重复上次的跳转
    ngg 第n行, 反向查找上次的查找

    % 移动到与光标所在括号相对应的另一半括号上(对小括号,中括号和大括号有用,尖括号无用)
    :比较的全面,但是看每个人的习惯不同,惯用的就会不同。上述是普通模式和可视模式的光标移动,它们完全一致,由于插入模式下的光标移动快捷键和很多VSCode内置快捷键冲突,这里就不介绍了,在文章末尾有写

    方便编辑和阅读代码的操作如下(不仅仅限于光标移动,包含tricks等)

    类型1
    zt 屏幕滚动使得当前行成为屏幕的最上面一行
    zz 中间一行
    zb 最下面一行
    zc 关闭代码块
    zo 打开代码块
    za 打开或关闭代码块

    类型2
    Ctrl + 0:跳转到侧边栏,并可以用jk上下移动,空格打开文件或者文件夹
    Ctrl + 2:增加一个工作区栏,以此类推,Ctrl + 1:跳到第一个工作区栏
    Ctrl + N:新建文件 Ctrl + Shift + N:新建文件夹(这两个在Settings -> Keyboard Shortcuts -> 搜索explorer.new -> 自定义
    l:从侧边栏回到未跳转前的文件工作区,或者新打开的文件工作区
    gt(go to tab):跳到下一个标签页
    gT(go to tab):跳到上一个标签页
    ngt(go to tab):跳到第n个标签页

    类型3
    gh(go to hover):悬浮查看一些文档,签名
    gd(go to destination):跳转到定义声明或具体描述的地方
    Ctrl + o:回到跳转之前的地方 Ctrl + i:与之相反
    gb:光标置于单词的任意位置,输入一个gb,就选中一相同的单词(想选中4个相同的单词就连续输入gb4次
    ==:格式化代码
    gcc:注释本行代码
    gcnj/ngcj:注释从本行和下方n行的代码
    gcnk/ngck:注释从本行和上方n行的代码

    编辑技巧

    操作符opertator 4个
    d 剪切(delete)
    x 剪切光标所停留的那个字符 X 剪切光标所停留的前一个字符
    c 删除并进入插入模式(change)
    y 复制(yink)
    介词 2个
    i 表示里面
    a 表示外面
    名词 9个
    光标移动之字符 h j k l
    光标移动之单词 w b e…
    光标移动之行 ^ $ ngg…
    光标移动之跳转 f F …
    光标移动之句段 ( {
    ( { [’`" 各种括号引号
    t 标签
    a 全部
    e 全文

    公式1:操作符

    dd:剪切一行 3dd/d3d:剪切包括本行在内的三行 以此类推

    公式2:操作符 + 名词(前五个)

    3dh/d3h:剪切光标所停留字符的左三个字符 3dj/d3j:剪切光标所在行及下面三行
    db:剪切光标所停留单词到开头
    dngg:剪切本行到第n行
    dfn:剪切到当前行到下一个n字符
    d{:剪切到段落开头

    公式3:操作符 + 介词 + 名词(重点后四个)

    diw 剪切当前光标所停留单词,或输入gbw
    di(:删除( )中的所有内容
    da(:删除( )中同时包括( )的所有内容
    dit:剪切标签对中的内容,不包含标签对
    dat:剪切标签对中的内容,包含标签对
    yia:这个我试了以下,在for…in和for…of里面可以复制,其它的暂且不知
    yie:复制全文

    其它操作符及编辑技巧 6个
    rx 用字符x替换光标位置的字符 nrx 用x字符替换光标位置前的n个字符 R 进入替换模式
    p 粘贴到当前光标的右边/下一行 P 粘贴到当前光标的左边/上一行 np(nP) 重复粘贴内容n次
    << 向前缩进
    >> 向后缩进
    u 撤销操作
    . 再次执行刚执行过的命令

    :上述展示的都是很常用的Vim普通模式下的编辑技巧

    常用命令

    相信尝试过上述的Vim基础后,用一段时间的你,一定能够掌握好适合的常用命令

    小技巧

    1. Ctrl 键有时候可以用小拇指指根摁
    2. VSCode内置的 Alt + ↑/↓ 将当前行或者块(visualmode选择即可)上/下移
    3. 大写字母可以使用 Shift + 字母

    自带插件

    vim-easymotion:Vim插件介绍里vim-easymotion有详细说明,常用的有以下(键映射中有)在这里插入图片描述

    vim-surround:同上,可以自己尝试,以下例子

    Old text                  Command     New text
    Hello world               vS"         "Hello world"
    "Hello world"             ds"         Hello world
    Hello world               ysiw[       [ Hello ] world
    Hello world               ysiw]       [Hello] world
    [Hello] world             cs]"        "Hello" world
    
    "Look ma, I'm *HTML!"     cs"<q>      <q>Look ma, I'm HTML!</q>
    <div>Yo!*</div>           dst         Yo!
    <div>Yo!*</div>           cst<p>      <p>Yo!</p>
    

    vim-sneak:同上,和easymotion有些像,但是有自己的方便之处

    其他

    切换大小写

    ~ 将光标下的字母改变大小写
    3~ 将光标位置开始的3个字母改变其大小写
    g~ 改变当前行字母的大小写,
    gUU 将当前行的字母改成大写
    guu 将当前行的字母改成小写
    gUaw或gUiw 将光标下的单词改成大写
    guaw或gUaw 将光标下的单词改成小写

    其它跳转方式

    /string,n下翻查询结果,N上翻查询结果,enter跳转(string代表你想查找的内容)

    插入模式下的光标移动

    个人习惯是,在插入模式下且移动的范围很小的时候,选择性的使用插入模式下的光标移动,它的原生vim中的快捷键如下(不过很多与VSCode内置快捷键是冲突的,我是直接使用↑/↓/←/→新手使用Vim先适应模式切换,暂且不用插入模式下的光标移动可能更锻炼一些)

    快捷键作用
    Ctrl + pup
    Ctrl + ndown
    Ctrl + bleft
    Ctrl + fright
    Ctrl + a到行首
    Ctrl + e到行尾
    Ctrl + hdelete 1
    Ctrl + wdelete back 1 word
    Ctrl + udelete back to start of line

    屏幕滚动

    原生vim的快捷键如下

    快捷键功能
    Ctrl + v向上滚屏
    Ctrl + e向下滚屏
    Ctrl + u向上滚半屏
    Ctrl + d向下滚半屏
    Ctrl + b向上滚整屏
    Ctrl + f向下滚整屏

    参考链接

    All About Vim

    新手如何正确入门vim?

    在VSCode中使用Vim的正确方式

    指尖飞舞:vscode + vim 高效开发(系列视频)

    vim常用命令总结 (转)

    vscode和chrome使用vim

    vim中的杀手级插件: surround

    非常感谢!!!

    展开全文
  • 记得备份~/.vim ~/.vimrc ,作为恢复用 1、将解压的文件放到 ~目录下 2、source ~/.vimrc
  • vim命令

    千次阅读 2022-05-07 08:40:34
    列出当前vim中打开的所有文件 vi和vim的区别 vi按u只能撤销上次命令,而在vim中按u可以撤销多次 vim对vi完全兼容,某种情况下可以将vim当做vi来使用 2、vi和touch创建文件是否有区别 vi创建文件后直接打开,touch...

    1、在命令模式下:

    1. 移动上下左右键移动

    1. 复制光标所在行,并粘贴到最后一行(yy,p)

    yy:复制光标所在行,p:将复制或剪切的内容粘贴到光标所在位置的下一行

    1. 剪切光标所在行,并粘贴到最后一行(dd,p)

    dd:剪切光标所在行,p:将复制或剪切的内容粘贴到光标所在位置的下一行

     

    1. 删除光标所在行(dd)

     

    1. 撤销前一个动作(U)

     

    6x:删除光标所在的字符,并向后删除

     

    7X:删除光标所在的字符,并向前删除

     

    8n(数字)x:连续向后删除n个字符

     

    9n(数字)dd:剪切自光标所在位置以下的n

     

    2、使用不同的命令进入插入模式,并输入内容为个人信息:

    3、在末行模式,寻找字符“2”,并查找下一个。

     

    4、在末行模式:

    1. 不编辑内容直接退出(前后使用cat命令验证操作)q

    1. 编辑内容后不保存退出(前后使用cat命令验证操作)q!

     

    1. 编辑内容后保存退出(前后使用cat命令验证操作)wq

     

    4set nu:显示文件行号,set nonu 隐藏文件行号

     

    vim高级操作(多文件编辑)

    vim后跟多个文件名,一次性打开多个文件

    可以使用YYP在不同文件间复制数据

    files:列出当前vim中打开的所有文件

    1. vivim的区别
    1. viu只能撤销上次命令,而在vim中按u可以撤销多次
    2. vimvi完全兼容,某种情况下可以将vim当做vi来使用

    2vitouch创建文件是否有区别

    vi创建文件后直接打开,touch直接创建一个文件不打开

    vim命令相对来说还是比较简单,此次实验主要针对vim命令进行了相关的练习,实验过程主要在vim的命令模式,末行模式,插入模式进行了vim命令的相关操作,通过此次实验可以锻炼我的记忆力,和对键盘的熟练度,还能帮助我更好的适应centos

    注:在命令模式下X不能删除光标所在字符,只能在光标所在字符向前删除

    VIM文本编辑器中:体验跳转到首行、末行等其他命令。

    答:在命令模式下输入G光标到文件的最后一行,输入gg光标到文件的第一行。

    展开全文
  • Vim】Vscode 配置 Vim

    千次阅读 2021-08-03 19:01:56
    文章目录Vscode 配置 vim一、Vim 简介二、Vscode 配置 vim1. 安装2. 配置- mac系统- Windows三、配置项说明四、参考链接五、总结 Vscode 配置 vim 强烈建议安装后查看参考链接中的指尖飞舞:vscode + vim 高效开发...

    Vscode 配置 vim

    强烈建议安装后查看参考链接中的指尖飞舞:vscode + vim 高效开发(系列视频)


    一、Vim 简介

    Vim 是 Vi Mproved(改进) 是一款强大的编辑器,基于 Linux 平台下的 Vi 开发。因为操作是基于命令方式,所以能够跨平台安装,功能强大,具有以下特点:

    • 内存占用低
    • 以命令为中心,可以使用少量命令执行复杂的文本相关任务
    • 具有高度可配置性,并使用简单的文本来存储其配置
    • vim 支持海量插件(vim awsome平台
    • 支持多个窗口,使用此功能能够拆分多个窗口
    • 支持多个缓冲区
    • 支持多各选项卡,允许处理多个文件
    • 支持录制功能,允许以重复方式录制和播放 Vim 命令

    基于如此强大的编辑功能,使用者一学多用,但因以命令为核心,学习 Vim,需要学习大量的 vim 命令。

    但掌握其命令核心后,很多需要 鼠标配合 或者 按多个按键 的操作简化为一条简单的 vim 命令


    二、Vscode 配置 vim

    1. 安装

    • 点击 vscode 扩展,搜索 vim 安装
      Vscode 扩展搜索

    2. 配置

    - mac系统

    • mac 系统的电脑需要执行以下的 bash 命令
      作用应该是禁用某种按键布局
      $ defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false         # For VS Code
      $ defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false # For VS Code Insider
      $ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false    # For VS Codium
      $ defaults delete -g ApplePressAndHoldEnabled                                      # If necessary, reset global default
      
      在这里插入图片描述
    • 之后将 Vim 文档中的配置代码复制至 setting.json (全局配置)文件中即可
      {
        "vim.easymotion": true,
        "vim.incsearch": true,
        "vim.useSystemClipboard": true,
        "vim.useCtrlKeys": true,
        "vim.hlsearch": true,
        "vim.insertModeKeyBindings": [
          {
            "before": ["j", "j"],
            "after": ["<Esc>"]
          }
        ],
        "vim.normalModeKeyBindingsNonRecursive": [
          {
            "before": ["<leader>", "d"],
            "after": ["d", "d"]
          },
          {
            "before": ["<C-n>"],
            "commands": [":nohl"]
          }
        ],
        "vim.leader": "<space>",
        "vim.handleKeys": {
          "<C-a>": false,
          "<C-f>": false
        }
      }
      

    - Windows

    • windows 则不需要执行 bash 命令,但是将配置代码(红框下方)设定至 vscode 的 全局 setting.json 后,windows 的快捷键将被 Vim 接管
      即windows 系统的快捷键不起作用
      在这里插入图片描述

    • 复制配置代码(同上)到 Vscode setting.json 文件即可

      {
        "vim.easymotion": true,
        "vim.incsearch": true,
        "vim.useSystemClipboard": true,
        "vim.useCtrlKeys": true,
        "vim.hlsearch": true,
        "vim.insertModeKeyBindings": [
          {
            "before": ["j", "j"],
            "after": ["<Esc>"]
          }
        ],
        "vim.normalModeKeyBindingsNonRecursive": [
          {
            "before": ["<leader>", "d"],
            "after": ["d", "d"]
          },
          {
            "before": ["<C-n>"],
            "commands": [":nohl"]
          }
        ],
        "vim.leader": "<space>",
        "vim.handleKeys": {
          "<C-a>": false,
          "<C-f>": false
        }
      }
      

    复制时,注意 json 格式


    三、配置项说明

    // vim setting
        "vim.easymotion": true,               //easymotion 功能启用
        "vim.incsearch": true,                  //incsearch 功能启用
        "vim.useSystemClipboard": true,        //使用系统剪贴板,启用   
        "vim.useCtrlKeys": true,               //使用 Ctrls 按键
        "vim.hlsearch": true,                  //启用 hlsearch
        "vim.insertModeKeyBindings":[          //insert 模式下的按键绑定
            {
            "before": ["j", "j"],              //使用 before 代替 after 中的按键或者命令(这里的 befor 和 after 对象均为数组)
            "after": ["<Esc>"]
            },
            {
                "before":["<Up>"],
                "after":["<Nop>"]
            }, 
            {
                "before":["<Down>"],
                "after":["<Nop>"]
            },
             {
                "before":["<Left>"],
                "after":["<Nop>"]
             },                  
            {
                "before":["<Right>"],
                "after":["<Nop>"]
            }
        ],
        "vim.normalModeKeyBindingsNonRecursive": [           //normal 模式下的按键绑定 (同上)
            {
            "before": ["<leader>", "d"],
           "after": ["d", "d"] 
            },
            {
            "before": ["<C-n>"], 
            "commands": [":nohl"] 
             },
             {
                "before":["<Up>"],
                "after":["<Nop>"]
            }, 
            {
                "before":["<Down>"],
                "after":["<Nop>"]
            },
             {
                "before":["<Left>"],
                "after":["<Nop>"]
             },                  
            {
                "before":["<Right>"],
                "after":["<Nop>"]
            }
        ],
        "vim.leader": "<space>",            //leader 按键的指定,这里规定为了 space(空格) 键,j
        "vim.handleKeys": {                //这里制定了 ctrl A 键起作用,下同(说明:ctrl A 在 Vim 中有特殊含义)
            "<C-a>": false,
            "<C-f>": false
        },
        //--------------------------  
    

    四、参考链接


    五、总结

    • 模式说明
      参考链接中有几个视频讲到了 vim 的命令模式,他们均讲到了是两种模式,但是在第一个参考链接中,讲到的是四种模式,理解应该为四种模式:
      • normal 正常模式:在该模式下执行大量的文本命令才起作用
      • visual 视图模式:按 v 进入这种模式,可实现对文件内容多行的编辑
      • insert 插入模式:可以进行文档的内容插入
      • 命令模式: 在 Normal 模式下,键入 “:” 后添加 vim 命令(如:wq)则进行 文件内容之外的操作
    • 按键绑定的问题
      新手如何正确入门 Vim 参考链接中讲到了按键绑定的问题,视频中的 up 主将上下左右键绑定为空,使之不能起作用,如果是初入门的选手,比如我,是比较赞成的,但是按键的使用因人而异,不必强求。
      使用上面的方式置空上下左右键,同样也可以置空键盘上的page up/down,Home/End,或许使用 Vim 命令操作熟悉之后,以后更换键盘时,可以使用布局更小的键盘
    • 查看文档
      查看文档十分重要,许多问题搜索虽然能够快速解决,但是问题的根本愿解决方式大部分都是来自文档
    • Vim 常用命令

    展开全文
  • Vim实用技巧》

    热门讨论 2015-04-07 21:21:02
    美 Drew Neil《Vim实用技巧》
  • VIM使用教程-详细

    千次阅读 2021-07-05 16:36:23
    导语 VIM 是 Linux 系统上一款文本编辑器,它是操作 Linux 的一款利器。 当前有很多优秀的 IDE 都支持安装 VIM 插件,原因就是使用它...学习 VIM 最好的文档,应该是阅读学习 VIM 的帮助文档,这里先讲一下如何使用 VIM
  • vim配置文件,vim配置文件
  • [VIM] VIM 实用插件整理

    万次阅读 多人点赞 2019-04-27 23:37:56
    工欲善其事必先利其器,windows 环境下有诸多好用的 IDE,但在 linux 环境下,可供选择的工具并不多,但是 VIM 作为一款可扩展文本编辑工具,配合丰富的功能插件,同样能满足我们的工作需要,甚至由于其强大的可扩展...
  • Vi和Vim的区别及联系1.使用vim替换vivim比vi强大多了,vim属于vi的超集,而且能够解决很多习惯的问题,所以还是有必要使用vim替换vi的。简单地话,可以直接使用“alias vi=vim”命令即可,不过这样只能在这次启动的...
  • 编译vim-8.2并配置jedi-vim插件

    千次阅读 2021-11-27 09:20:32
    编译vim-8.2并配置jedi-vim插件,让vim变成更加强大的工具。
  • vim 配置

    千次阅读 2022-04-07 00:22:53
    vim 配置总结
  • VIM configuration

    2015-08-03 16:41:35
    VIM工具附带常用插件,已打包好,也是从别人那下载的资源,现免费share出来供给有需要的码农,不谢
  • Linux debian安装VimVim使用教程

    千次阅读 2022-04-04 08:19:02
    Vim 是一个开源免费工具,具有命令行界面和图形用户界面。它对于编辑用 shell、python、Perl、c/c++ 等编写的配置文件和程序特别有用。最新版本的 Vim 包括一些新功能、错误修复和文档更新。 Vim安装步骤 步骤一、...
  • VIM 插件管理工具——vim-plug

    千次阅读 2022-03-07 20:46:21
    vim-plug 一个小巧的 vim 插件管理工具,设置简单,使用方便。工具地址:https://github.com/junegunn/vim-plug。 安装 直接下载 github 页面中 plug.vim 文件,将其放入本机 vim 的 autoload 文件夹中。 windows ...
  • Vim基本介绍

    千次阅读 2021-06-13 22:52:07
    一、Vim基本介绍         Vim是一个超级超级强大的文本编辑器,它和Emacs是一个数量级。Vim及前身VI,历史悠久(可能比多数读者的年龄更大),经历了几十年的考验和发展。Vim全称叫Vi IMproved. ...
  • vim编辑器

    千次阅读 2022-02-20 00:35:31
    vimvim是vi编辑器(一般简称为vi编辑器)的增强内容 三、vim编辑器 基本格式: vim 选项 文件 系统最小化安装vim yum install vim -y 常用选项 选项 解释 +# 打开文件后,让光标处于第#行的行首...
  • vim插件安装

    千次阅读 2021-12-11 18:06:05
    1.安装vim插件管理器 第一次使用插件推荐安装插件管理器,它可以简化我们安装插件的步骤。 1.下载 plug.vim 文件,根据操作系统不同,放置在以下autoload目录中: Linux: ~/.vim/autoload Windows: ~\vimfiles\...
  • 只是 eclim 的 vim 客户端的另一个镜像。 包含所有支持语言的 .vim 文件vim 文档不包括在内从版本 2.4.1( ) 导出的最新提交indigo 用户使用分支 indigogit clone ...
  • vim 复制粘贴

    万次阅读 2022-04-02 15:03:24
    VIM编辑器 1.复制和粘贴整行 我们都知道复制的快捷键是“nyy”,粘贴的快捷键是“p”。 Tips 1.“yy” 是复制光标所在行,“nyy”是复制包括光标所在行以及向下的“n-1”行**,一共n行。 2. “p”是将已经复制的数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,150,478
精华内容 460,191
关键字:

vim