精华内容
下载资源
问答
  • vim编辑器视图模式_Vim编辑器模式介绍
    2020-08-14 07:33:50

    vim编辑器视图模式

    Because Vim is focused on changing existing code just as much as writing new code, it is split into several modes that each have different purposes.

    由于Vim与编写新代码一样专注于更改现有代码,因此Vim分为几种模式,每种模式都有不同的用途。

    正常模式 (Normal Mode)

    By default, Vim starts in “normal” mode. Normal mode can be accessed from other modes by pressing Esc or <C-[>.

    默认情况下,Vim以“普通”模式启动。 通过按Esc<C-[>可以从其他模式访问普通模式。

    In Normal mode key presses don’t work as one would expect. That is, they don’t insert text into the document; instead, certain key presses can:

    在正常模式下,按键不像人们期望的那样工作。 也就是说,他们不会在文档中插入文本。 相反,某些按键可以:

    移动光标 (Move the cursor)

    • h move one character left

      h向左移动一个字符

    • j move one row down

      j下移一排

    • k move one row up

      k向上移动一排

    • l move one character right

      向右移动一个字符

    As many vim commands, row movement can be prefixed by a number to move s everal lines at a time:

    与许多vim命令一样,行移动可以以数字作为前缀,以一次移动几行:

    • 4j move 4 rows down

      4j下移4行

    • 6k move 6 rows up

      6k向上移动6行

      6k move 6 rows up

      6k向上移动6行

    Basic word movements:

    基本的单词动作:

    • w move to beginning of next word

      w移至下一个单词的开头

    • b move to previous beginning of word

      b移至上一个单词的开头

    • e move to end of word

      e移至字尾

    • W move to beginning of next word after a whitespace

      W移至空格后的下一个单词的开头

    • B move to beginning of previous word before a whitespace

      B移至空白之前的上一个单词的开头

    • E move to end of word before a whitespace

      E移至空格前的单词结尾

    Beginning/End of line movement:

    行的开始/结束:

    • 0 move to the beginning of the line

      0移动到行首

    • $ move to the end of the line

      $移至行尾

    处理文字 (Manipulate text)

    进入其他模式 (Enter other modes)

    Normal mode is where one should spend most of their time while using Vim. Remember, this is what makes Vim different.

    在普通模式下 ,使用Vim时应花费大部分时间。 记住,这就是让Vim与众不同的原因。

    In normal mode, there are multiple ways to move around an open file. In addition to using the cursor keys to move around, you can use h (left), j (down), k (up), and l (right) to move as well. This particularly helps touch typists who don’t like leaving the home row when making changes.

    在普通模式下,有多种方法可以在打开的文件中移动。 除了使用光标键移动之外,还可以使用h (左), j (下), k (上)和l (右)来移动。 这尤其有助于触摸打字员,他们在进行更改时不喜欢离开家。

    You can also make changes to single characters in normal mode. For example, to replace a single character, move your cursor over it and press r, and then the character you want to replace it with. Similarly, you can delete single characters by moving your cursor over it and pressing x.

    您也可以在普通模式下更改单个字符。 例如,要替换单个字符,请将光标移到该字符上,然后按r ,然后按要替换的字符。 同样,您可以通过将光标移到单个字符上并按x来删除单个字符。

    To perform an undo, press u in normal mode. This undoes changes up to the last time you were in normal mode. If you want to redo (i.e., undo your undo) press Ctrl+r in normal mode.

    要执行撤消,请在正常模式下按u 。 直到您上次进入正常模式时,此操作才会撤消更改。 如果要重做( 撤消撤消),请在正常模式下按Ctrl+r

    插入模式 (Insert Mode)

    This is the second most used mode, and will be the most familiar behavior to most people. Once in insert mode, typing inserts characters just like a regular text editor. You can enter it by using an insert command from normal mode.

    这是第二种最常用的模式,它将是大多数人最熟悉的行为。 进入插入模式后,键入将像常规文本编辑器一样插入字符。 您可以通过从普通模式使用插入命令来输入它。

    Insert commands include:

    插入命令包括:

    • i for ’insert’, this immediately switches vim to insert mode

      i关于“ nsert”,这会立即切换到VIM插入模式

    • a for ’append’, this moves the cursor after the current character and enters insert mode

      a代表“ a ppend”,这会将光标移动到当前字符之后并进入插入模式

    • o inserts a new line below the current line and enters insert mode on the new line

      o在当前行下方插入新行,并在新行进入插入模式

    These commands have an uppercase variety too:

    这些命令也具有大写形式:

    • I moves the cursor to the beginning of the line and enters insert mode

      I将光标移到行的开头并进入插入模式

    • A moves the cursor to the end of the line and enters insert mode

      A将光标移至行尾并进入插入模式

    • O inserts a new line above the current one and enters insert mode on the new line

      O在当前行上方插入新行,并在新行上进入插入模式

    There are so many more ways of inserting text in Vim that can’t be listed here but these are the simplest. Also, beware of staying in insert mode for too long; Vim is not designed to be used in insert mode all the time.

    在Vim中插入文本的方法还有很多,这里没有列出,但这是最简单的方法。 另外,请注意不要在插入模式下停留太长时间; Vim并非始终设计为在插入模式下使用。

    To leave insert mode and return to normal mode, press Esc or <C-[>

    要退出插入模式并返回普通模式,请按Esc<C-[>

    视觉模式 (Visual Mode)

    Visual mode is used to make selections of text, similar to how clicking and dragging with a mouse behaves. Selecting text allows commands to apply only to the selection, such as copying, deleting, replacing, and so on.

    可视模式用于选择文本,类似于用鼠标单击和拖动的行为。 选择文本使命令仅适用于选择,例如复制,删除,替换等。

    To make a text selection:

    进行文本选择:

    • Press v to enter visual mode, this will also mark a starting selection point

      v进入可视模式,这也会标记一个开始选择点

    • Move the cursor to the desired end selection point; vim will provide a visual highlight of the text selection

      将光标移动到所需的终点选择点; vim将提供文本选择的视觉亮点

    Visual mode also has the following variants:

    可视模式还具有以下变体:

    • V to enter visual line mode, this will make text selections by line

      V进入可视线模式,这将按行进行文本选择

    • <C-V> to enter visual block mode, this will make text selections by blocks; moving the cursor will make rectangle selections of the text

      <CV>进入可视块模式,这将按块进行文本选择; 移动光标将对文本进行矩形选择

    To leave visual mode and return to normal mode, press Esc or <C-[>.

    要退出可视模式并返回正常模式,请按Esc<C-[>

    The visual mode actually has multiple subtypes: visual, block-visual and linewise-visual

    视觉模式实际上具有多个子类型: 视觉块视觉逐行视觉

    • visual: like described above. Enter by pressing v

      视觉 :如上所述。 按v输入

    • block-visual: select any rectangular region. Enter by pressing <ctrl>+v

      可视块 :选择任何矩形区域。 按<ctrl>+v进入

    • linewise-visual: always select full lines. Enter by pressing <shift>+v

      linewise-visual :始终选择全行。 按下<shift>+v进入

    命令模式 (Command Mode)

    Command mode has a wide variety of commands and can do things that normal mode can’t do as easily. To enter command mode type ’:’ from normal mode and then type your command which should appear at the bottom of the window. For example, to do a global find and replace type :%s/foo/bar/g to replace all ‘foo’ with ‘bar’

    命令模式具有多种命令,可以完成普通模式下不易完成的事情。 要进入命令模式,请在正常模式下键入':',然后键入您的命令,该命令应显示在窗口底部。 例如,要进行全局查找并替换类型:%s/foo/bar/g ,将所有“ foo”替换为“ bar”

    • : Enters command mode

      :进入命令模式

    • % Means across all lines

      %所有行均值

    • s Means substitute

      s手段替代

    • /foo is regex to find things to replace

      /foo是正则表达式来查找要替换的东西

    • /bar/ is regex to replace things with

      /bar/是用正则表达式替换的东西

    • /g means global, otherwise it would only execute once per line

      /g表示全局,否则每行仅执行一次

    Vim has a number of other methods that you can read about in the help documentation, :h or :help.

    Vim还有许多其他方法,您可以在帮助文档中:h:help

    更换模式 (Replace Mode)

    Replace mode allows you replace existing text by directly typing over it. Before entering this mode, get into normal mode and put your cursor on top of the first character that you want to replace. Then press ‘R’ (capital R) to enter replace mode. Now whatever you type will replace the existing text. The cursor automatically moves to the next character just like in insert mode. The only difference is that every character you type will replace the existing one.

    替换模式允许您通过直接在现有文本上键入来替换现有文本。 进入此模式之前,请进入正常模式,并将光标置于要替换的第一个字符上方。 然后按“ R”(大写R)进入替换模式。 现在,无论您键入什么内容,都将替换现有文本。 就像在插入模式下一样,光标会自动移动到下一个字符。 唯一的区别是您键入的每个字符都将替换现有字符。

    翻译自: https://www.freecodecamp.org/news/vim-editor-modes-explained/

    vim编辑器视图模式

    更多相关内容
  • vim编辑器工作模式及切换

    千次阅读 2019-05-20 23:13:57
    vim编辑器工作模式及切换 vim编辑器包括哪几种模式,各自的作用是什么,如何切换? 主要包括三种工作模式: 命令模式:启动vim编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制...

    vim编辑器的工作模式及切换

    vim编辑器包括哪几种模式,各自的作用是什么,如何切换?

    主要包括三种工作模式:
    命令模式:启动vim编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
    输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vim编辑器的最后一行会出现“—插入 --”的状态提示信息。
    末行模式:该模式中可以设置vim编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vim编辑器的最后一行会出现冒号“:”提示符。

    在这里插入图片描述

    2.vim编辑器的命令模式操作。

    使用vim编辑器时,在命令模式下按( )可快速跳转到文件第一行,按( )可快速跳转到文件最后一行;若要查找关键词“-R”,可以输入( )指令,按( )可跳转至下一个匹配结果。
    参考答案

    gg或1G
    G
    /-R
    n
    

    3.vim编辑器的删除、复制、粘贴操作。

    使用vim编辑器时,在命令模式下按( )可删除当前光标行,按( )可复制当前行,按( )将剪贴板中的文本粘贴到当前行之后。
    参考答案

    dd
    yy
    p
    

    4.vim编辑器的末行模式操作。

    使用vim编辑器时,在末行模式下执行( )可实现保存并退出当前文件,若要放弃修改并退出应执行( )。
    参考答案

    :wq
    :q!
    

    5.vim编辑器综合应用。

    修改文件内容,将/etc/yum.repos.d/ rhel-source.repo复制到当前目录并改名为rhel6.repo,将其内容改成如下即可:
    [rhel6_media]
    name=RHEL6 for /media
    baseurl=file:///media
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    

    参考答案

    [root@localhost ~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# ls
    rhel-source.repo
    [root@localhost yum.repos.d]# cp rhel-source.repo rhel6.repo
    [root@localhost yum.repos.d]# vim rhel6.repo    //更改文件内容
    [root@localhost yum.repos.d]# cat rhel6.repo 
    [rhel6_media]
    name=RHEL6 for /media
    baseurl=file:///media
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    

    6.Linux中使用光驱设备。
    在RHEL6操作系统中光驱设备有几种表示方法?
    参考答案

    /dev/sr0
    /dev/cdrom
    

    7.设备挂载基本操作。

    在linux中默认触发挂载光驱设备的目录是( );默认用来挂载设备的挂载点文件夹是( )与( )。挂载设备的命令是( ),需要提供的两个参数分别是( )与( )。
    参考答案

    /misc/cd、/media、/mnt、mount、设备、挂载点
    

    8.Linux中RPM包的管理。

    简述rpm命令安装、升级、卸载软件包的常见用法,如何实现覆盖安装、卸载软件时如何忽略依赖关系?
    参考答案

    安装:rpm -ivh 软件名-版本-架构.rpm
    升级:rpm -Uvh 软件名-版本-架构.rpm
    卸载:rpm -e 软件名
    覆盖安装:需添加选项 --force
    忽略依赖关系:需添加选项 --nodeps
    

    9.Linux中查询已安装软件包信息。

    使用rpm命令查询已经安装的软件包时,常见的用法如下所示,请补充完整。
    rpm ( )列出已安装的所有软件包
    rpm ( ) 软件名:查看指定软件的详细信息
    rpm ( ) 软件名:查看指定软件的文件安装清单
    rpm ( ) 软件名:仅列出软件安装清单中的配置文件
    rpm ( ) 软件名:仅列出软件安装清单中的文档文件
    参考答案

    -qa
    -qi
    -ql
    -qc
    -qd
    

    10.Linux中查询未安装软件包信息。

    **使用rpm命令查询尚未安装的 .rpm 文件时,常见的用法如下所示,请补充完整。
    rpm ( ) *.rpm安装文件:查看该软件包的详细信息
    rpm ( ) *.rpm安装文件:查看如果安装该软件将会提供的文件清单
    rpm ( ) .rpm安装文件:仅列出该软件若安装后会复制的配置文件
    rpm ( ) .rpm安装文件:仅列出该软件若安装后会复制的文档文件
    参考答案

    -qpi
    -qpl
    -qpc
    -qpd
    

    11.删除hostname命令的执行程序,并修复。

    参考答案

    [root@svr5 ~]# hostname 
    svr5.tarena.com
    [root@svr5 ~]# which hostname
    /bin/hostname
    [root@svr5 ~]# rm -rf /bin/hostname 
    [root@svr5 ~]# hostname 
    -bash: /bin/hostname: 没有那个文件或目录
    [root@svr5 ~]# rpm -qf /bin/hostname
    net-tools-1.60-110.el6_2.x86_64
    [root@svr5 ~]# rpm -ivh /misc/cd/Packages/net-tools-1.60-110.el6_2.x86_64.rpm --force
    Preparing...                ########################################### [100%]
       1:net-tools              ########################################### [100%]
    [root@svr5 ~]# hostname 
    svr5.tarena.com
    [root@svr5 ~]#
    
    展开全文
  • 作为一个刚接触linux系统三天的新手来说,系统本身的vim编辑器感觉和vs环境下的平台差了好多好多,这里简要介绍一下如何配置vim编辑器,使自己的vim用起来更顺畅,敲起代码来更得心应手在当前用户下建立.vim目录,...

    作为一个刚接触linux系统三天的新手来说,系统本身的vim编辑器感觉和vs环境下的平台差了好多好多,这里简要介绍一下如何配置vim编辑器,使自己的vim用起来更顺畅,敲起代码来更得心应手

    在当前用户下建立.vim目录,打开.vim目录,建立doc和plugin目录。

    打开链接http://www.vim.org/scripts/script.PHP?script_id=273,下载TagList_xx.zip,解压后taglist.txt放在doc目录下,taglist.vim放在plugin目录下

    打开链接http://www.vim.org/scripts/script.php?script_id=9,下载WinManager.zip,减压后将winmanager.txt放入~/.vim/doc中,将winfileexplorer.vim,winmanager.vim和wintagexpiorer.vim放入

    (注意事项:因为是.vim文件属于隐藏文件,所以在Terminal中应用ls -a来显示出隐藏文件,或者在界面Home中显示隐藏文件夹。)

    附图:.vim文件中配置完成的文件目录有:

    b43591a52b7ad4e985c7aa6b23b7b028.png39dde0fff1fbf39916062ddeb5a92599.png12a6c63e35c7c295a49e07218cb991a4.png

    打开.vimrc,在尾行添加:

    let Tlist_Show_One_File=1

    let Tlist_Exit_OnlyWindow=1

    let Tlist_Use_Right_Window=1

    (let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vimlet Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口)

    let g:winManagerWindowLayout='FileExplorer|TagList'

    nmap wm :WMToggle

    以下是.vimrc配置中的命令及其解释

    """""""""""""""""""

    " 显示相关

    """""""""""""""""""

    "set shortmess=atI " 启动的时候不显示那个

    提示

    "winpos 5 5 " 设定窗口位置

    "set lines=40 columns=155 " 设定窗口大小

    "set nu " 显示行号

    set go= " 不要图形按钮

    "color asmanian2 " 设置背景主题

    set guifont=Courier_New:h10:cANSI " 设置字体

    "syntax on " 语法高亮

    autocmd InsertLeave * se nocul " 用浅色高亮当前行

    autocmd InsertEnter * se cul " 用浅色高亮当前行

    "set ruler " 显示标尺

    set showcmd " 输入的命令显示出来,看的清楚些

    "set cmdheight=1 " 命令行(在状态行下)的高度,设置为1

    "set whichwrap+=,h,l " 允许backspace和光标键跨越行边界(不建议)

    "set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离

    set novisualbell " 不要闪烁(不明白)

    set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容

    set laststatus=1 " 启动显示状态行(1),总是显示状态行(2)

    set foldenable " 允许折叠

    set foldmethod=manual " 手动折叠

    "set background=dark "背景使用黑色

    set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限

    " 显示中文帮助

    if version >= 603

    set helplang=cn

    set encoding=utf-8

    endif

    " 设置配色方案

    "colorscheme murphy

    "字体

    "if (has("gui_running"))

    " set guifont=Bitstream\ Vera\ Sans\ Mono\ 10

    "endif

    set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

    set termencoding=utf-8

    set encoding=utf-8

    set fileencodings=ucs-bom,utf-8,cp936

    set fileencoding=utf-8

    "键盘命令"""""""""""""""""""""""""""""""nmap w :w!nmap f :find" 映射全选+复制 ctrl+amap ggVGYmap! ggVGYmap gg=G" 选中状态下 Ctrl+c 复制vmap "+y"去空行nnoremap :g/^\s*$/d"比较文件nnoremap :vert diffsplit"新建标签map :tabnew"列出当前目录文件map :tabnew ."打开树状文件目录map \be"C,C++ 按F5编译运行map :call CompileRunGcc()func! CompileRunGcc()exec "w"if &filetype == 'c'exec "!g++ % -o %exec "! ./%elseif &filetype == 'cpp'exec "!g++ % -o %exec "! ./%elseif &filetype == 'java'exec "!javac %"exec "!java %elseif &filetype == 'sh':!./%endifendfunc"C,C++的调试map :call Rungdb()func! Rungdb()exec "w"exec "!g++ % -g -o %exec "!gdb ./%endfunc""""""""""""""""""""""""

    ""实用设置""""""""""""""""""""""""" 设置当文件被改动时自动载入set autoread" quickfix模式autocmd FileType c,cpp map :w:make"代码补全set completeopt=preview,menu"允许插件filetype plugin on"共享剪贴板set clipboard+=unnamed"从不备份set nobackup"make 运行:set makeprg=g++\ -Wall\ \ %"自动保存set autowriteset ruler " 打开状态栏标尺set cursorline " 突出显示当前行set magic " 设置魔术set guioptions-=T " 隐藏工具栏set guioptions-=m " 隐藏菜单栏"set statusline=\ %" 设置在状态行显示的信息set foldcolumn=0set foldmethod=indentset foldlevel=3set foldenable " 开始折叠" 不要使用vi的键盘模式,而是vim自己的set nocompatible" 语法高亮set syntax=on" 去掉输入错误的提示声音set noeb" 在处理未保存或只读文件的时候,弹出确认set confirm" 自动缩进set autoindentset cindent" Tab键的宽度set tabstop=4" 统一缩进为4set softtabstop=4set shiftwidth=4" 不要用空格代替制表符set noexpandtab" 在行和段开始处使用制表符set smarttab" 显示行号set number" 历史记录数set history=1000"禁止生成临时文件set nobackupset noswapfile"搜索忽略大小写set ignorecase"搜索逐字符高亮set hlsearchset incsearch"行内替换set gdefault"编码设置set enc=utf-8set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936"语言设置set langmenu=zh_CN.UTF-8set helplang=cn" 我的状态行显示的内容(包括文件类型和解码)"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]" 总是显示状态行set laststatus=2" 命令行(在状态行下)的高度,默认为1,这里是2set cmdheight=2" 侦测文件类型filetype on" 载入文件类型插件filetype plugin on" 为特定文件类型载入相关缩进文件filetype indent on" 保存全局变量set viminfo+=!" 带有如下符号的单词不要被换行分割set iskeyword+=_,$,@,%,#,-" 字符间插入的像素行数目set linespace=0" 增强模式中的命令行自动完成操作set wildmenu" 使回格键(backspace)正常处理indent, eol, start等set backspace=2" 允许backspace和光标键跨越行边界set whichwrap+=,h,l" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)set mouse=aset selection=exclusiveset selectmode=mouse,key" 通过使用: commands命令,告诉我们文件的哪一行被改变过set report=0" 在被分割的窗口间显示空白,便于阅读set fillchars=vert:\ ,stl:\ ,stlnc:\" 高亮显示匹配的括号set showmatch" 匹配括号高亮的时间(单位是十分之一秒)set matchtime=1" 光标移动到buffer的顶部和底部时保持3行距离set scrolloff=3" 为C程序提供自动缩进set smartindent" 高亮显示普通txt文件(需要txt.vim脚本)au BufRead,BufNewFile * setfiletype txt"自动补全:inoremap ( ()i:inoremap ) =ClosePair(')'):inoremap { {}O:inoremap } =ClosePair('}'):inoremap [ []i:inoremap ] =ClosePair(']'):inoremap " ""i:inoremap ' ''ifunction! ClosePair(char)if getline('.')[col('.') - 1] == a:charreturn "\"elsereturn a:charendifendfunctionfiletype plugin indent on"打开文件类型检测, 加了这句才可以用智能补全set completeopt=longest,menu""""""""""""""""""""""""""""""""" CTags的设定""""""""""""""""""""""""""""""""let Tlist_Sort_Type = "name" " 按照名称排序let Tlist_Use_Right_Window = 1 " 在右侧显示窗口let Tlist_Compart_Format = 1 " 压缩方式let Tlist_Exist_OnlyWindow = 1 " 如果只有一个buffer,kill窗口也kill掉bufferlet Tlist_File_Fold_Auto_Close = 0 " 不要关闭其他文件的tagslet Tlist_Enable_Fold_Column = 0 " 不要显示折叠树autocmd FileType java set tags+=D:\tools\java\tags"autocmd FileType h,cpp,cc,c set tags+=D:\tools\cpp\tags"let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的"设置tagsset tags=tags"set autochdir

    """""""""""""""""""

    展开全文
  • 打开vim编辑器 vim/ 编者注:标题和文章最初是指“ vi编辑器”。 它已更新为编辑器的正确名称:“ vim”。 vim是一款功能强大的多功能编辑器,其中包含丰富的有效命令集,使其成为许多用户的热门选择。 本文专门...

    打开vim编辑器 vim/

    编者注:标题和文章最初是指“ vi编辑器”。 它已更新为编辑器的正确名称:“ vim”。

    vim是一款功能强大的多功能编辑器,其中包含丰富的有效命令集,使其成为许多用户的热门选择。 本文专门研究了vim中默认未启用但仍然有用的命令。 此处推荐的命令应该在vim配置文件中设置。 尽管可以在每个vim会话中单独启用命令,但是本文的目的是开箱即​​用地创建一个高效的环境。

    在你开始之前

    此处讨论的命令或配置进入用户主目录中的vim启动配置文件vimrc。 请按照以下说明在vimrc中设置命令:

    (注意:vimrc文件还用于Linux中的系统范围的配置,例如/etc/vimrc/etc/vim/vimrc 。在本文中,我们将仅考虑用户主文件夹中存在的特定于用户的vimrc。 )

    在Linux中:

    • 使用vi $HOME/.vimrc打开文件
    • 在本文末尾的备忘单中键入或复制/粘贴命令
    • 保存并关闭( :wq

    在Windows中:

    • 首先, 安装gvim
    • 打开gvim
    • 单击编辑->启动设置,这将打开_vimrc文件
    • 在本文末尾的备忘单中键入或复制/粘贴命令
    • 单击文件->保存

    让我们深入研究单个vi生产力命令。 这些命令分为以下几类:

    1. 缩进和制表符
    2. 显示和格式
    3. 搜索
    4. 浏览和滚动
    5. 拼写

    1.缩进和制表符

    要自动对齐文件中的行的缩进:

     set autoindent 
    

    Smart Indent使用代码语法和样式进行对齐:

     set smartindent 
    

    提示:vim支持语言,并提供默认设置,该设置可根据文件中使用的编程语言有效地工作。 有许多默认配置命令,包括axs cindentcinoptionsindentexpr等,此处不再赘述。 syn是显示或设置文件语法的有用命令。

    设置选项卡要显示的空格数:

     set tabstop=4 
    

    设置要为“移位操作”显示的空格数(例如“ >>”或“ <<”):

     set shiftwidth=4 
    

    如果您更喜欢使用空格而不是制表符,则此选项将在按下Tab键时插入空格。 对于诸如Python这类依赖于制表符而不是空格的语言,可能会引起问题。 在这种情况下,您可以根据文件类型设置此选项(请参见autocmd )。

     set expandtab 
    

    2.显示和格式

    要显示行号:

     set number 
    
    vi set number.png

    要在超过最大行宽时自动换行:

     set textwidth=80 
    

    要基于右侧的许多列换行,请执行以下操作:

     set wrapmargin=2 
    

    要在遍历文件时标识打开和关闭括号的位置,请执行以下操作:

     set showmatch 
    
    vi set showmatch

    3.搜索

    要突出显示文件中的搜索词:

     set hlsearch 
    
    set hlsearch

    在键入时执行增量搜索:

     set incsearch 
    
    vi set incsearch

    要搜索忽略大小写(许多用户不喜欢使用此命令;仅在您认为有用时才进行设置):

     set ignorecase 
    

    如果同时设置了ignorecasesmartcase并且搜索模式包含大写字母,则在不考虑ignorecase情况下进行搜索:

     set smartcase 
    

    测试
    测试

    当同时设置了ignorecasesmartcase ,对“ test”的搜索会发现并突出显示这两个:

    测试
    测试

    搜索“测试”仅突出显示或找到第二行:

    测试
    测试

    4.浏览和滚动

    为了获得更好的视觉体验,您可能希望将光标放在中间而不是第一行。 以下选项将光标位置设置为第5行。

     set scrolloff=5 
    

    例:

    第一幅图像的滚动率为0,第二幅图像的滚动率为5。

    vi set scrolloff.jpg

    提示:如果还设置了nowrap.set sidescrolloff非常有用nowrap.

    要在vim屏幕底部显示一个永久状态栏,显示文件名,行号,列号等:

     set laststatus=2 
    
    vi set laststatus.png

    5.法术

    vim具有内置的拼写检查器,对于文本编辑和编码非常有用。 vim识别文件类型,并仅在代码中检查注释的拼写。 使用以下命令打开英语的拼写检查:

     set spell spelllang=en_us 
    

    6.杂项

    禁用创建备份文件:启用此选项时,vim创建前一个编辑的备份。 如果您不想使用此功能,请如下所示将其禁用。 备份文件在文件名末尾使用波浪号(〜)命名。

     set nobackup 
    

    禁用创建交换文件:启用此选项后,vim会创建一个交换文件,该交换文件在您开始编辑该文件之前一直存在。 Swapfile用于在发生崩溃或使用冲突时恢复文件。 交换文件是以开头的隐藏文件. 并以.swp

     set noswapfile 
    

    假设您需要在同一个vim会话中编辑多个文件并在它们之间切换。 一个尚不明显的烦人功能是,工作目录是您从中打开第一个文件的目录。 通常,将工作目录自动切换到正在编辑的文件的目录很有用。 要启用此选项:

     set autochdir 
    

    vim保留撤消历史记录,可让您撤消更改。 默认情况下,此历史记录仅在关闭文件之前处于活动状态。 vim包含一个漂亮的功能,即使关闭文件后,该功能仍保留撤消历史记录,这意味着即使在保存,关闭和重新打开文件后,您也可以撤消更改。 撤消文件是一个以.un~扩展名保存的隐藏文件。

     set undofile 
    

    设置声音警报铃(如果您尝试滚动到行尾时会发出警告):

     set errorbells 
    

    如果愿意,可以设置视觉警报铃声:

     set visualbell 
    

    奖金

    vim提供长格式和短格式命令。 两种格式均可用于设置或取消配置。

    autoindent命令的长格式:

     set autoindent 
    

    autoindent命令的简短格式:

     set ai 
    

    要查看命令的当前配置设置而不更改其当前值,请使用? 在末尾:

     set autoindent? 
    

    要取消设置或关闭命令,大多数命令都将no作为前缀:

     set noautoindent 
    

    可以为一个文件设置命令,但不能为全局配置设置命令。 为此,请打开文件并键入: ,然后输入set命令。 该配置仅对当前文件编辑会话有效。

    vi set command.png

    有关命令的帮助:

     :help autoindent 
    
    vi commands help.jpg

    注意:此处列出的命令已在带有Vim 7.4版的Linux(2013年8月10日)和带有Vim 8.0的Windows(2016年9月12日)上进行了测试。

    这些有用的命令一定会增强您的vim体验。 您推荐其他哪些命令?

    备忘单

    将以下命令列表复制/粘贴到vimrc文件中:

    
       
    " Indentation & Tabs

    set autoindent

    set smartindent

    set tabstop=4

    set shiftwidth=4

    set expandtab

    set smarttab

    " Display & format

    set number

    set textwidth=80

    set wrapmargin=2

    set showmatch

    " Search

    set hlsearch

    set incsearch

    set ignorecase

    set smartcase

    " Browse & Scroll

    set scrolloff=5

    set laststatus=2

    " Spell

    set spell spelllang=en_us

    " Miscellaneous

    set nobackup

    set noswapfile

    set autochdir

    set undofile

    set visualbell

    set errorbells

    翻译自: https://opensource.com/article/18/9/vi-editor-productivity-powerhouse

    打开vim编辑器 vim/

    展开全文
  • vim编辑器

    2020-12-21 11:09:32
    1. 关于Vimvim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境...
  • 1. 掌握三种模式的切换命令; 2. 了解三种模式的常用命令。
  • 使用vi文本编辑器配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。那么如何使用Linux字符操作界面中的文本编辑器——...
  • linux vim编辑器总结

    2021-05-14 02:22:31
    vim编辑器总结目录一 vi/vim 使用vi/vim 工作模式vim 的三种工作模式 普通模式 编辑模式 末行模式1.1 打开文件命令功能vim +n filename打开文件,并将光标置于第N行的行首vim + filename打开文件,并将光标置于最后...
  • Linux——vim编辑器

    2021-05-16 04:11:20
    一、vi的使用基本上 vi 共分为三种模式,分别是『一般指令模式』、『编辑模式』与『指令命令模式』。一般指令模式 (command mode)以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式)。...
  • 16.vim编辑器详解

    2022-01-15 14:10:32
    vim具有多种工作模式,常用的工作模式有:命令模式,插入模式,末行模式。
  • 以下为《Shell和vim编辑器常用功能实验报告》的无排版文字预览,完整内容请下载信息安全 刘某某 ***08实验二实验报告实 验 基 本 信 息实验名称:Shell和vim编辑器常用功能实验时间: 2020 年 11 月 9 日实验地点: ...
  • Vim是从vi发展出来的一个文本编辑器,也是目前最常用的编辑器。它不只是一个文本编辑器还是一个开发工具。 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式...
  • Linux编辑器-vim的使用

    2022-02-24 19:18:36
    Linux下编辑器vim的使用,相关模式及指令
  • vim编辑器与shell编程

    2021-05-26 22:44:30
    1:vim编辑器 1.1:三种模式 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。 输入模式:正常的文本录入。 末行模式:保存或退出文档,以及设置编辑环境 第一次进入的时候是命令模式 命令...
  • 引入 1.vim概述 Linux下的编辑器最常用的就是vim或者vi文本编辑。vi 和vim 编辑器的区别是vim...vi/vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,因为linux系统的设计理念是一切皆文件,也就
  • 目标vi 简介打开和新建文件三种工作模式常用命令分屏命令常用命令速查图01. vi 简介1.1 学习 vi 的目的在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的...
  • 文件操作 4.vim编辑器 4.1 简介 4.2 三种编辑模式 4.3 使用vim 1.文件系统 1.1 Windows系统 路径名分割符是\,例如D:\Download\Docker\Docker Desktop.exe。 绝对路径由两部分构成,盘符和盘内路径,例如D:\Download...
  • Windows配置vim编辑器写C++ 前言 我是一个非常喜欢vim的人,于是我想要在windows下实现vim编辑器 下面的内容主要参考: ...depth_1-utm_...
  • 编者注:标题和文章最初称呼的 vi 编辑器,现已更新为编辑器的正确名称:Vim。 3. 搜索 高亮搜索内容的所有匹配位置: set hlsearch 搜索过程中动态显示匹配内容: set incsearch 搜索时忽略大小写: set ...
  • Vim 编辑器操作汇总

    2021-03-22 13:07:36
    [文件 ..] 编辑指定的文件或: vim [参数] - 从标准输入(stdin)读取文本或: vim [参数] -t tag 编辑 tag 定义处的文件或: vim [参数] -q [errorfile] 编辑第一个错处的文件参数:-- 在这以后只有文件名-v Vi 模式 ...
  • Vim编辑器与Shell命令脚本Vim文本编辑器 Vim文本编辑器 1.Vim文本编辑器的三种工作模式: - **命令模式:**控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。 - **输入模式:**正常的文本录入。 - **末行...
  • vim编辑器与shell脚本

    千次阅读 2022-04-09 19:19:37
    vim与shell
  • VIM 编辑器使用指南

    2020-06-07 10:58:40
    第5章 Vim编辑器 Linux中的所有内容都是以文件形式管理,在命令行下更改文件内容,常常会用到文本编辑器。 我们首选的文本编辑器是Vim,它是一个机遇文本界面的编辑工具,使用简单且功能强大,更重要的是,Vim是所有...
  • 使用vim编辑器配置网络

    千次阅读 2018-03-31 15:17:16
    (3)末行模式(Last Line Mode): 将文件保存或退出vim,也可以设置编辑环境,如寻找字符串,列出行号等。 (1)命令模式 命令模式为vi的初始模式。在普通权限下键入“”$ vi 文件名 “”或 ...
  • 编辑器 vim 1.常见的三种模式 (1).正常/普通/命令模式(Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 (2).插入模式(Insert mode):只有在...
  • vim文件编辑器 [重点] vim 是一个强大的文件编辑工具, 学习文件编辑之前, 首先要学习一下文件编码格式: vim 是 vi的高级扩展, 如果Linux为最小安装版是不包含vim的,只能使用vi编辑 vim 对比vi 可以支持语法格式...
  • 最好用的vim编辑器

    千次阅读 2018-02-06 10:02:19
    "列出当前目录文件  map <F3> :tabnew .  "打开树状文件目录  map <C-F3> \be  "C,C++ 按F5编译运行 map <F5> :call CompileRunGcc() func! CompileRunGcc()  exec "w"  if &filetype == 'c'...
  • vim编辑器操作命令大全-绝对全

    万次阅读 多人点赞 2016-11-10 16:50:18
    学习链接: vim命令大全 ...vim命令小技巧 http://www.codeceo.com/article/useful-vim-command.html 1. 关于Vim vim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然em
  • vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及linux系统的任何版本,vi编辑器是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,497
精华内容 10,998
关键字:

列出vim编辑器的工作模式