Linux 之 Ubuntu 上 Vim 的安装、配置、常用命令的简单整理

这篇具有很好参考价值的文章主要介绍了Linux 之 Ubuntu 上 Vim 的安装、配置、常用命令的简单整理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux 之 Ubuntu 上 vim 的安装、配置、常用命令的简单整理

目录

Linux 之 Ubuntu 上 vim 的安装、配置、常用命令的简单整理

一、简单介绍

二、Vim 的安装

三、vim 的 3+2 种工作模式

 四、vim 的一些基础配置,及其说明

五、普通模式下的常用操作命令

六、插入模式下的常用操作命令

七、命令模式下的常用操作命令


一、简单介绍

Linux/Ubuntu 开发的一些知识整理,方便后期遇到类似的问题,能够及时查阅使用。

本节介绍,Ubuntu 上 vim 的安装、配置、常用命令的简单整理。如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。


Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 [1]
vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时VIM与很多快捷键设置和正则表达式类似,可以辅助记忆。并且vim针对程序员做了优化。

vim 比 vi 做的一些改进

  • vi:visual interface EX 的可视化接口
  • vim:Vi IMproved 增加了多级撤销、多窗口操作,稳定性提高、减少崩溃以及崩溃后也可以恢复,关键字自动补全自己上下文相关的补全

操作环境:

  • Ubuntu 18.04
  • Vim 8.0

二、Vim 的安装

1、打开 Ubuntu ,在终端上输入命令,安装 vim

命令:sudo apt install vim

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

2、在终端输入 vim 文件名,就可以适应 vim 编辑文件

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

 

三、vim 的 3+2 种工作模式

1、普通模式

vim 打开一个文件时默认模式,该模式也是其他模式,按下 esc 退出到的模式

这个模式下可以使用常用的命令来操作文档,例如 dd 删除行等操作

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

2、插入模式

普通模式下,按下 i 进入插入模式之外,还有 o,a 也都可以进入插入模式,其中按下 esc 键退出该模式,退到普通模式

该模式下,就可以正常输入编辑文件或脚本了。

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

3、命令行模式

在普通模式下,输入冒号:进入命令模式,其中按下 esc 键退出该模式,退到普通模式

在命令模式下 输入 q 回车是退出,wq 是保存退出,x 也是保存退出,q! 是忽略修改退出,等等

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

4、可视化模式

在普通模式下,按 v 进入到可视化模式,其中按下 esc 键退出该模式,退到普通模式

在该模式下,移动光标就可以选中一块文本了,可以进行后续的粘贴、删除、复制等操作

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

 5、替换模式

在普通模式下,按 R (注意是大写 R)就可以进入到替换模式,其中按下 esc 键退出该模式,退到普通模式

该模式下,可以把对应光标的内容替换

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

 四、vim 的一些基础配置,及其说明

这些基本配置有些也可以在命令模式下输入配置

1、使用 vim 打开 /etc/vim/vimrc ,进行相关的配置

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

2、配置说明如下,i 进入插入模式添加配置,esc 退到普通模式,: 进入命令模式 wq 保存退出

ubuntu安装vim,Linux/Ubuntu,linux,ubuntu,vim,常用操作,文件编辑

 

3、一些常用配置说明

" 设置(软)制表符宽度为4:
	set tabstop=4
	set softtabstop=4
" 设置缩进的空格数为4
	set shiftwidth=4
" 设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
	set autoindent
" 设置使用 C/C++ 语言的自动缩进方式:
	set cindent
" 设置C/C++语言的具体缩进方式:
	set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
" 如果想在左侧显示文本的行号,可以用以下语句:
	set nu

" 设置光标行
set cursorline
这条命令会在vim的光标所在行上标记为一条横线
还可以修饰一下条横线:
highlight CursorLine guibg=lightblue ctermbg=lightgray
" 设置光标列
set cursorcolumn

" 设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936

" 不要使用vi的键盘模式,而是vim自己的
set nocompatible

" history文件中需要记录的行数
set history=100

" 在处理未保存或只读文件的时候,弹出确认
set confirm

" 与windows共享剪贴板
set clipboard+=unnamed

" 侦测文件类型
filetype on

" 载入文件类型插件
filetype plugin on

" 为特定文件类型载入相关缩进文件
filetype indent on

" 保存全局变量
set viminfo+=!

" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-

" 语法高亮
syntax on

" 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
:match OverLength '\%101v.*'

" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要备份文件(根据自己需要取舍)
set nobackup

" 不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide

" 字符间插入的像素行数目
set linespace=0

" 增强模式中的命令行自动完成操作
set wildmenu

" 在状态行上显示光标所在位置的行号和列号
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)

" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2

" 使回格键(backspace)正常处理indent, eol, start等
set backspace=2

" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l

" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key

" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0

" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索和匹配
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 高亮显示匹配的括号
set showmatch

" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=5

" 在搜索的时候忽略大小写
set ignorecase

" 不要高亮被搜索的句子(phrases)
set nohlsearch

" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch

" 输入:set list命令是应该显示些啥?
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol

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

" 不要闪烁
set novisualbell

" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\[POS=%l,%v][%p%%]\%{strftime(\"%d/%m/%y\ -\ %H:%M\")}

" 总是显示状态行
set laststatus=2

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本格式和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 自动格式化
set formatoptions=tcrqn

" 继承前一行的缩进方式,特别适用于多行注释
set autoindent

" 为C程序提供自动缩进
set smartindent

" 使用C样式的缩进
"set cindent

" 制表符为4统一缩进为4
set tabstop=4
set softtabstop=4
set shiftwidth=4

" 用空格代替制表符
set expandtab

" 不要换行
set nowrap

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按照名称排序
let Tlist_Sort_Type = "name"

" 在右侧显示窗口
let Tlist_Use_Right_Window = 1

" 压缩方式
let Tlist_Compart_Format = 1

" 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_Exist_OnlyWindow = 1

" 不要关闭其他文件的tags
let Tlist_File_Fold_Auto_Close = 0

" 不要显示折叠树
let Tlist_Enable_Fold_Column = 0

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示

if has("autocmd")
    autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number
    autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o-->
    autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o
    autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100
    autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
    autocmd BufReadPost *
      \ if line("'\"") > 0 && line("'\"") <= line("$") |
      \ exe " normal g`\"" |
      \ endif
endif "has("autocmd")

" F5编译和运行C程序,F6编译和运行C++程序
" 请注意,下述代码在windows下使用会报错
" 需要去掉./这两个字符

" C的编译和运行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!gcc % -o %<"
exec "! ./%<"
endfunc

" C++的编译和运行
map <F6> :call CompileRunGpp()<CR>
func! CompileRunGpp()
exec "w"
exec "!g++ % -o %<"
exec "! ./%<"
endfunc

" 能够漂亮地显示.NFO文件
set encoding=utf-8
function! SetFileEncodings(encodings)
      let b:myfileencodingsbak=&fileencodings
          let &fileencodings=a:encodings
          endfunction
          function! RestoreFileEncodings()
              let &fileencodings=b:myfileencodingsbak
                  unlet b:myfileencodingsbak
                  endfunction

                  au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single au BufReadPost *.nfo call RestoreFileEncodings()

" 高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile * setfiletype txt

" 用空格键来开关折叠
set foldenable
set foldmethod=manual
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR>

" minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1

五、普通模式下的常用操作命令

1、光标移动方面:
            h j k l
            gg       光标跳转到文件第一行
            G        光标跳转到文件最后一行
            n-       光标向上跳转n行
            n加回车   光标往下跳转n行
            nG       光标跳转到第n行
                vim filename +n  直接跳转跳第n行
2、 删除代码方面:
            dd  删除光标所在的一行代码
            ndd 删除光标往下n行代码(n包括光标那行)
            x       删除一个字符
            nx      删除n个字符
            dw/de   删除一个连续的字符串(dw会删除末尾的空格,de保留空格),从光标处一直往后删 直到遇到空格
            d$      从光标处删除到行尾
            d^      从光标处删除到行首
            dG      从光标处那行删除到文件末尾
            dgg     从光标处那行删除到文件开头
3、复制代码方面
            yy    复制光标所在一行代码
            nyy   复制光标所在n行代码
            p     粘贴到光标的下一行
            P     粘贴到光标的上一行
4、移动代码方面
            删除代码后内容会存放到粘贴板,配合p\P
            使用可以达到移动代码的效果
5、替换代码方面
            r   替换一个字符
            cw  替换一个字符串
            R   进入替换模式
6、撤销操作方面
            u        撤销上次操作
            Ctrl+r   取消撤销操作

六、插入模式下的常用操作命令

1、普通模式,进入插入模式的方式

        i   在光标的前方进入插入模式
        I   光标跳转到行首,进入插入模式
        a   在光标的后方进入插入模式
        A   光标跳转到行尾,进入插入模式
        o   在光标下一行插入一个行空白行,进入插入模式
        O   在光标上一行插入一个行空白行,进入插入模式

2、插入模式下的常用命令文章来源地址https://www.toymoban.com/news/detail-848964.html

        插入模式的常用操作:
            Ctrl+p     自动补全 注意:多使用
            Ctrl+i     缩进,相当于Tab
            Ctrl+j/m   回车
            Ctrl+c     相当于Esc
        自定义组合按键:
            Ctrl+z   在任何模式下,保存退出
            Ctrl+x   自动保存并编译并运行C代码
            Ctrl+p   在正常模式下,自动添加头文件和main函数

七、命令模式下的常用操作命令

        :w    保存
        :q    退出   :q! 强制退出
        :wq   保存并退出
        :x    保存并退出
        :X    加密,注意:必须:wq和Ctrl+z退出才生效,ZZ不行
            注意:删除密码   :set key= (空格) 
        :set nu   显示行号
        :set nonu   不显示行号
        :!系统命令   执行系统命令
        :%s/old/new   把文件中old替换成new(替换内容多的最好用gedit中的搜索->查找和替换)
        :/key   查询key关键字 n查下一个 N查上一个
        :>n   光标处往下n行向右缩进一次(n包括光标那行)
        :<n   光标处往下n行向左缩进一次(n包括光标那行)

到了这里,关于Linux 之 Ubuntu 上 Vim 的安装、配置、常用命令的简单整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux——认识Linux的目录结构 & 常用命令 & vim命令 & 权限及其控制

    一切皆文件 文件分类 【安装】Linux环境下的 JDK的安装 安装配置 环境变量 1.进程kill -9 运行窗口退出 2.ctrl c退出 ls -a 查看所有文件(包含隐藏) ​ ls -la 查看所有文件详细信息 查看当前文件夹下的文件 在 Linux 系统中,ls 和 ll 命令都是用来列出目录内容的命令,它们的区别

    2024年02月16日
    浏览(54)
  • Linux常用命令之vim、cat、grep

    vim:编辑文件内容 cat:查看文件内容 grep:用于查找文件里符合条件的字符串 查找当前目录下,文件里面包含test字符串,且文件后缀是txt的文件:

    2024年01月17日
    浏览(41)
  • 53.Linux day03 文件查看命令,vi/vim常用命令

    今天进行了新的学习。 目录 1.cat a.查看单个文件的内容: b.查看多个文件的内容:  c.将多个文件的内容连接并输出到一个新文件: d.显示带有行号的文件内容:  2.more  3.less  4.head 5.tail  6.命令模式 7.插入模式   8.图片解析 用于查看和连接文件内容 以下是 cat 命令的基本

    2024年02月12日
    浏览(29)
  • 【Linux】安装配置解决Centos&MobaXterm的使用及Linux常用命令&命令模式

    目录 一、介绍 1. 背景 2. 讲述功能 二、Centos安装配置MobaXterm 1. 创建 2. 安装 3. 配置 4. MobaXterm使用  三、Linux常用命令模式 1. 常用命令 2. 三种模式 3. 命令使用换源 4. 拍照备份  CentOS的背景可以追溯到2004年,当时Red Hat公司决定将其企业级操作系统Red Hat Enterprise Linux(RHEL)的

    2024年02月08日
    浏览(46)
  • Linux常用命令整理

    rm -rf /* 将根目录以下的全部目录和文件删除 rm -rf * 将当前目录下的所有目录和文件删除 rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。 示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限

    2023年04月23日
    浏览(47)
  • 【Linux】安装配置解决Centos&MobaXterm的使用及Linux常用命令以及命令模式

    目录 Centos的介绍 centos安装配置MobaXterm 创建  安装  ​编辑  配置 ​编辑  MobaXterm使用  Linux常用命令模式   常用命令 vi或vim编辑器  三种模式  命令模式 编辑模式   末行模式 拍照备份  CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux (RHEL) 源代码编

    2024年02月06日
    浏览(32)
  • Linux:概述 、安装 、文件与目录结构 、vim编辑器 、网络配置 、远程登录 、系统管理 、基础命令 、软件包管理 、克隆虚拟机 、shell编程

    2.1.1、Linux是什么? Linux是一个操作系统(OS) 所谓的操作系统就是直接用来操作计算机底层硬件的软件。 2.1.2、Linux的出现 官网: https://www.centos.org/ 进入官网进行下载 有很多的镜像,以阿里云的为例: 3.3.1、下载 官网: https://www.vmware.com/ 这是下载的企业版,30天试用期,可

    2024年02月05日
    浏览(53)
  • 第一章:Linux常用命令+VIM+SSH介绍+SSH密钥登录

    目录 一、Linux常用命令 1)# 与 $ 提示的区别 2)ifconfig 3) su 4) cd 5) 目录查看 6) 查看文件内容 7)创建目录及文件 8)复制和移动 9)其他 10) tar 11) which 12) whereis 13) find 14) chmod 二、vim一般使用 三、SSH介绍 1) 什么是SSH 2)SSH服务端和客户端 3)基本工作机制 四、

    2024年02月13日
    浏览(52)
  • 开发必备的常用 Linux 命令整理

    在前面的文章中,截止到 微服务系列:分布式日志 ELK 搭建指南 这篇,我们终于算是将微服务系列给基本学完了,一时间难以决定接下来要写些什么东西。 想了想还是决定写几篇 Linux 相关命令的文章,毕竟平时也经常去 Linux 服务器上部署项目,你可能会问,部署这块不应该

    2024年02月07日
    浏览(31)
  • Centos虚拟机安装配置与MobaXterm工具及Linux常用命令

    目录 一、Centos操作系统 1.1 Centos介绍 1.2 Centos虚拟机安装 1.3 配置centos的镜像  1.4 虚拟机开机初始设置  1.4.1 查看网络配置 1.4.2 编辑网络配置  二、MobaXterm工具 2.1 MobaXterm介绍 2.2 MobaXterm安装  2.3 切换国内源 三、Linux常用命令和模式 3.1 查看网络配置 3.2 文件管理 3.3 vi或vim编

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包