代码编织梦想

在Windows写代码,可能你会喜欢用VS Code、Source Insight或其他种类繁多的IDE,但在Linux环境,强烈推荐Vim。

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。连 vim 的官方网站 (https://www.vim.org/) 自己也说 vim 是一个程序开发工具而不是文字处理软件。


命令模式:

  • 用户刚刚启动 vi/vim,便进入了命令模式。
  • 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。
  • 若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

  • 在命令模式下按下i就进入了输入模式。
  • 在输入模式中,可以使用以下按键:
  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

  • 在命令模式下按下:(英文冒号)就进入了底线命令模式。
  • 底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
  • 在底线命令模式中,基本的命令有(已经省略了冒号):
  • q 退出程序
  • w 保存文件
  • 按ESC键可随时退出底线命令模式。

以上简单介绍下Vim的用法,使用Vim的乐趣就在于可以客制化,自己制作工具或者使用开源工具。此处推荐https://vimawesome.com/。

比如想安装经典的浏览窗口插件NERDTREE ,可以在.vimrc里面添加:

Plug 'scrooloose/nerdtree'

然后进入进入底线模式,进行加载:

:source %
:PlugInstall

在这里插入图片描述

话不多说,直接看全局Vim配置成品效果,由于配置好的数据库太大,感兴趣的同学,可以去以下链接查看和下载。

Linux环境下经久不衰的编辑器Vim,一键适配使用(一)

Linux环境下经久不衰的编辑器Vim,一键适配使用(二)

  237 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""                                                                                                       |||       g:miniBufExplMapCTabS

  238 " Vim-plug                                                                                                                                                            |||       g:bufExplorerDefaultH

  239 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""                                                                                                       |||       g:bufExplorerShowRela

  240 call plug#begin('~/.vim/plugged')                                                                                                                                     |||       g:bufExplorerSortBy

  241 Plug 'valloric/youcompleteme'                                                                                                                                         |||       g:bufExplorerSplitRig

  242 Plug 'honza/vim-snippets'                                                                                                                                             |||       g:bufExplorerSplitVer

  243 Plug 'ervandew/supertab'                                                                                                                                              |||       g:bufExplorerSplitVer

  244 Plug 'maralla/completor.vim'                                                                                                                                          |||       g:bufExplorerUseCurre

  245 Plug 'jayli/vim-easycomplete'                                                                                                                                         |||       g:bufExplorerMaxHeigh

  246 Plug 'vim-scripts/taglist.vim'                                                                                                                                        |||       Tlist_Show_One_File

  247 Plug 'junegunn/vim-easy-align'                                                                                                                                        |||       Tlist_Exit_OnlyWindow

  248 Plug 'scrooloose/nerdtree'                                                                                                                                            |||       Tlist_Use_Right_Windo

  249 Plug 'majutsushi/tagbar'                                                                                                                                              |||       Tlist_File_Fold_Auto_

  250 Plug 'vim-scripts/L9'                                                                                                                                                 |||       Tlist_Process_File_Al

  251 Plug 'chun-yang/auto-pairs'                                                                                                                                           |||       Tlist_Auto_Open

  252 Plug 'universal-ctags/ctags'                                                                                                                                          |||       g:tagbar_left

  253 Plug 'morhetz/gruvbox'                                                                                                                                                |||       g:tagbar_width

  254 Plug 'ludovicchabant/vim-gutentags'                                                                                                                                   |||       g:tagbar_autopreview

  255 Plug 'brookhong/cscope.vim'                                                                                                                                           |||       g:tagbar_sort

  256 Plug 'nathanaelkane/vim-indent-guides'                                                                                                                                |||       g:winManagerWindowLay

  257 Plug 'skywind3000/asyncrun.vim'                                                                                                                                       |||       g:winManagerWidth

  258 Plug 'brooth/far.vim'                                                                                                                                                 |||       g:defaultExplorer

  259 Plug 'w0rp/ale'                                                                                                                                                       |||       g:netrw_winsize

  260 Plug 'skwp/vim-easymotion'                                                                                                                                            |||       g:LookupFile_MinPatLe

  261 Plug 'vim-airline/vim-airline'                                                                                                                                        |||       g:LookupFile_Preserve

  262 Plug 'tpope/vim-surround'                                                                                                                                             |||       g:LookupFile_Preserve

  263 Plug 'kien/ctrlp.vim'                                                                                                                                                 |||       g:LookupFile_AlwaysAc

  264 Plug 'mhinz/vim-signify'                                                                                                                                              |||       g:LookupFile_AllowNew

  265 Plug 'kana/vim-textobj-user'                                                                                                                                          |||       g:LookupFile_TagExpr

  266 Plug 'kana/vim-textobj-indent'                                                                                                                                        |||       g:LookupFile_LookupFu

  267 Plug 'kana/vim-textobj-syntax'                                                                                                                                        |||       g:fencview_autodetect

  268 Plug 'kana/vim-textobj-function', { 'for':['c', 'cpp', 'vim', 'java']  }                                                                                              |||       cscope_file

  269 Plug 'sgur/vim-textobj-parameter'                                                                                                                                     |||       cscope_pre

  270 Plug 'octol/vim-cpp-enhanced-highlight'                                                                                                                               ||        

  271 Plug 'tpope/vim-unimpaired'                                                                                                                                           ||-     function

  272 Plug 'yggdroot/leaderf'                                                                                                                                               |||       MySys

  273 Plug 'shougo/echodoc'                                                                                                                                                 |||       SwitchToBuf

  274 Plug 'vim-scripts/autoload_cscope.vim'                                                                                                                                |||       BufcloseCloseIt      

  275 Plug 'SirVer/ultisnips'                                                                                                                                               |||       LookupFile_IgnoreCase

  276 Plug 'honza/vim-snippets'                                                                                                                                             |||       VisualSearch

  277 call plug#end()                             

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_72742917/article/details/126996743

【运维】vi 和 vim 的区别_杨幂等的博客-爱代码爱编程

vi/ vim 所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定会存在。但我们目前使用vim比较多。 vim具有程序编辑能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。 什么是vim?

linux安装配置python3.7+vim(适配python)_让我来洗碗的博客-爱代码爱编程

准备:Linux 系统(ubuntu) Linux发行版大多都支持bash shell,本文采用shell 脚本一键安装配置python 及 vim 第一步 新建用户 我们Linux 的用户管理特别强(重要),非常便于

lunix基础命令学习----vim-爱代码爱编程

Vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便

Linux下VCS与Verdi联合仿真简易教程及例子示范-爱代码爱编程

VCS与Verdi联合仿真简易教程及例子示范 最近在公司实习,最近也恰好在学习Linux下的IC设计环境,涉及到了VCS与Verdi联合仿真等内容,也切身感觉到,和学校学习的内容是如此的不同,此篇便来讲下: VCS,Verdi是什么,为何要用VCS和Verdi?用一个简短的例子展示如何在Linux下使用VCS,Verdi对Verilog文件进行功能仿真

深度学习环境配置3——windows下的tensorflow-gpu=2.2.0环境配置-爱代码爱编程

深度学习环境配置3——windows下的tensorflow-gpu=2.2.0环境配置 注意事项一、2021/9/11更新二、2021/7/8更新学习前言环境内容环境配置一、Anaconda安装1、Anaconda的下载2、Anaconda的安装二、Cudnn和CUDA的下载和安装1、Cudnn和CUDA的下载2、Cudnn和CUDA的安装三、配

内测体验:JetBrains面向未来的Fleet编辑器是什么+究竟怎样 使用初体验+与vsc对比-爱代码爱编程

异想之旅:本人原创博客完全手敲,绝对非搬运,全网不可能有重复;本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告。本人所有文章仅在CSDN和个人博客(一定是异想之旅域名)发布,除此之外全部是盗文! 引言 上个月,我在看到某公众号推广后,作为热衷于先进技术、常年游历于各个软件公司内测组的用户自然是早早申请了内测。 因为在申请时官网的公告是“我们也不

windows系统下安装linux(ubuntu)虚拟机详细教程(vmware环境)_desktop livedvd-爱代码爱编程

提示:从Ubuntu系统换回windows也有三个多月了,有点怀念使用终端的感觉,打算在windows系统下安装ubuntu20.04的虚拟机,对详细过程进行记录,同时也希望对大家有所帮助 文章目录 前言正文