首页 > 其他分享 >VIM

VIM

时间:2023-12-06 10:24:55浏览次数:29  
标签:文件 set 启用 VIM 跳转 简写 替换

vim

1、打开文件

vim +[n] file #打开一个文件并使光标处于第n行 若没有n默认为行尾
vim +/正则  file   #以正则匹配打开一个文件,并使光标直接处于正则匹配的第一行

2、模式

命令模式
	字符跳转  h,j,k,l
	行首行尾跳转 ^跳转至行首的第一个非空白字符 0跳转至行首 $跳转至行尾
i,s,o编辑模式
视图模式
	v 面向字符
    V 面向整行
    ctrl + v 面向整块
    突出显示的文字可被删除d,复制y p,变更,过滤,搜索,替换等
    
:扩展命令模式
	wq	写入并退出
	X	加密
	q	退出
	q! 不存盘退出,即使更改都将丢失
	rfilename  读文件内容到当前文件中
	wfilename  将当前文件内容写入另一个文件
	!command	执行命令
	r!command	读入命令的输出

3、地址定界

:start_pos,end_pos CMD
#  		具体第#行,例如2表示第2行
#,$		从左侧#表示起始行,到右侧$表示结尾行
%		全文
/pattern/ 			从当前行向下查找,直到匹配pattern的第一行,即:正则表达式
定界后跟cmd
d		#删除
y		#复制
w file	#将范围内的行另存至指定文件中
r file 	#在指定位置插入指定文件中的所有内容

4、查找替换

s/要查找的内容/替换为的内容/修饰符  #  / 可以使用# 或@ 来替代 以便替换类似 /etc等字符
修饰符
i#忽略大小写
g#全局替换,默认情况下,每一行只替换第一次出现
gc#全局替换,每次替换前询问

5、vim定制

配置持久化 
.vimrc
# 行号
显示:set number,简写 set nu
取消显示:set nonumber, 简写 set nonu
# 忽略大小写
启用:set ignorecase,简写 set ic
不忽略:set noic
# 自动缩进
启用:set autoindent,简写 set ai
禁用:set noai
# 复制保留格式
启用:set paste
禁用:set nopaste
# 显示Tab ^I和换行符 和$显示
启用:set list
禁用:set nolist
# 高亮搜索
启用:set hlsearch
禁用:set nohlsearch
简写:nohl
# 语法高亮
启用:syntax on
禁用:syntax off
# 文件格式
启用windows格式:set fileformat=dos
启用unix格式:set fileformat=unixset ts=4
简写 set ff=dos|unix
# Tab 用空格代替
启用:set expandtab
默认为8个空格代替Tab
禁用:set noexpandtab
简写:set et
# Tab用指定空格的个数代替
启用:set tabstop=#
# 指定4个空格代替Tab
简写:set ts=4
#设置缩进宽度
向右缩进命令模式>>
向左缩进命令模式<<
设置缩进为4个字符
set shiftwidth=4
# 设置文本宽度
set textwidth=65 (vim only)#从左向右计数
set wrapmargin=15#从右到左计数
# 设置光标所在行的标识线
启用:set cursorline,简写 set cul
禁用:set nocursorline
# 加密
启用: set key=password
禁用: set key=
# set 帮助
:help option-list
:set or :set all
# 自定义创建文件自动填充头部
set expandtab
set ignorecase
set cursorline
autocmd BufNewFile *.sh,*.py exec ":call SetTitle()"
func SetTitle()
    if expand("%:e") == 'sh'
    call setline(1,"#!/bin/bash")
    call setline(2,"#")
    call setline(3,"#**********************************************************************************************")
    call setline(4,"#Author:        GUQUANHENG")
    call setline(5,"#QQ:            982561159")
    call setline(6,"#Date:          ".strftime("%Y-%m-%d"))
    call setline(7,"#FileName:      ".expand("%"))
    call setline(8,"#URL:                       ")
    call setline(9,"#Description:   The test script")
    call setline(10,"#Copyright (C):".strftime("%Y")." All rights reserved")
    call setline(11,"#*********************************************************************************************")
    call setline(12,"")
    endif
    if expand("%:e") == 'py'
    call setline(1,"#!/bin/python")
    call setline(2,"#")
    call setline(3,"#**********************************************************************************************")
    call setline(4,"#Author:        GUQUANHENG")
    call setline(5,"#QQ:            982561159")
    call setline(6,"#Date:          ".strftime("%Y-%m-%d"))
    call setline(7,"#FileName:      ".expand("%"))
    call setline(8,"#URL:                       ")
    call setline(9,"#Description:   The test script")
    call setline(10,"#Copyright (C):".strftime("%Y")." All rights reserved")
    call setline(11,"#*********************************************************************************************")
    call setline(12,"")
    endif
endfunc
autocmd BufNewFile * normal G

6、vim快捷键

字符间跳转:
    h: 左
    L: 右
    j: 下
    k: 上
    #COMMAND:跳转由#指定的个数的字符
单词间跳转:
    w:下一个单词的词首
    e:当前或下一单词的词尾
    b:当前或前一个单词的词首
    #COMMAND:由#指定一次跳转的单词数
当前页跳转:
    H:页首
    M:页中间行
    L:页底
    zt:将光标所在当前行移到屏幕顶端
    zz:将光标所在当前行移到屏幕中间
    zb:将光标所在当前行移到屏幕底端行首行尾跳转:
    ^跳转至行首的第一个非空白字符
    0跳转至行首
    $跳转至行尾
行间移动:
    #G或者扩展命令模式下
    :#跳转至由第#行
    G 最后一行
    1G, gg 第一行
句间移动:
    )下一句
    (上一句
段落间移动:
    }下一段
    {上一段
命令模式翻屏操作
    Ctrl+f向文件尾部翻一屏,相当于Pagedown
    Ctrl+b向文件首部翻一屏,相当于Pageup
    Ctrl+d向文件尾部翻半屏
    Ctrl+u向文件首部翻半屏

标签:文件,set,启用,VIM,跳转,简写,替换
From: https://www.cnblogs.com/guquanheng/p/17878915.html

相关文章

  • ubuntu中vim乱码以及执行shell脚本时出现乱码
    vim打开文件中文出现乱码情况,可以参考如下办法:在vim/usr/share/vim/vimrc文件末尾中加入(这个vimrc文件是Vim的系统级配置文件、文档、插件、语法高亮定义、颜色方案等)setencoding=utf-8setfileencodings=utf-8,gbksettermencoding=utf-8保存退出就ok了 如果还不行......
  • 八、vim高级文本编辑器
    vim是vi的增强版,由vim-enhanced软件包提供。vim具有vi不具备的特性eg:命令语法的高亮vim是一个默认的文本编辑器来进行使用,在众多的Linux发行版中均被内置,成为Linux主流的文本编辑器。gvim:vim的图形化版本提供在vim-x11包里、1、vim的工作模式命令模式:打开文件进入命......
  • 在Linux系统中通过 vim 进行文本替换(转)
    在Linux系统中通过vim进行文本替换本文转自:https://www.cnblogs.com/wind-wang/p/5768000.html在vim中,可以通过:setnu或:setnumber的命令来显示文本的行号在VIM中进行文本替换:1.替换当前行中的内容::s/from/to/(s即substitude):s/from/to/:将......
  • Linux关于vim编辑器心得
    Linux系统中的编辑器是对一些服务配置和文件进行编辑的的工具,类型于windows系统中的记事本Vim编辑器主要有三种模式:命令模式、编辑模式、和末行模式(扩展命令模式)命令模式:控制光标、对文件进行复制、粘贴、删除、查询等操作。编辑模式:进行文本录入与更改。末行模式:文档保存与退......
  • Vim 全局配置
    新搞的Linux(Debian)上的vim一右击粘贴就变成insert(Visual)模式,上网查了一下,要setmouse=,但是每次设置太麻烦了,另外我也想改一下全局配色。定位全局配置文件看到有篇博客说是在/usr/share/vim/share/...下有个vimrc,可能不同系统或版本有差异,总的来说先去/usr/shar......
  • vim的各种快捷键
    一、准备一份用于练习的文件我这里随便选了个python文件,作为test.py#!/bin/bashflag1=0#确认用户名是否被注册过的标识user_table="user_info"db_name="your_database_name"db_host="your_database_host"db_user="your_database_user"db_password="your_dat......
  • Vim使用技巧
    Vim基础配置'设置编码'setfileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936settermencoding=utf-8setencoding=utf-8'显示行号'setnusetnumber'突出显示当前行'setcursorlinesetcul'cursorline的缩写形式''突出显示当前列'setcur......
  • linux学习记录(tmux、vim) 9.23
    tmux和vim1、tmux(1)分屏(2)允许把terminal断开之后,继续运行top命令,类似windows的任务管理器,显示各进程运行状况写一个文档或者代码的时候,在tmux里面写,不用担心断网tmux开一堆---->session开一堆(常用)---->window开一堆---->pane(常用)---->shell每一个pane都会打开一......
  • Linux关于vim的一些操作指令
    1.模式:2.Vim具有多种工作模式,最基本的有两种:命令模式和插入模式。3.在命令模式下,键盘输入被解释为命令,例如移动光标、删除文本等。4.在插入模式下,键盘输入直接插入到文本中。5.基本操作:6.进入插入模式:按下i键。7.保存文件:在命令模式下输入:w。8.退出Vim:在命令模式下输入:q。9......
  • Linux vi 和 vim编辑器(学习笔记)
    1简介所有的Linux系统都会内建vi文本编辑器。vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。2vi和vim常用的三种模式2.1 正常模式以vim打开一......