生产工具之——我的vim配置

~/.vimrc文件配置
" 按键映射
map J 5j
map K 5k
map H 7h
map L 7l
inoremap jj <esc>

set clipboard+=unnamed       " 与vim共享剪切板
syntax on                    " 高亮显示
syntax enable
" colorscheme molokai        " 设置主题为molokai
colorscheme evening          " 设定配色方案
set guifont=Consolas:h15     " 设置字体和字体大小

set number                   " 显示行号
set cursorline               " 突出显示当前行
set ruler                    " 打开状态栏标尺
set t_Co=256                 " 启用256色
set showmatch                " 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号
set ruler                    " 在状态栏显示光标的当前位置(位于哪一行哪一列)
set hlsearch                 " 设置高亮显示搜索字符串

set tabstop=4                " 设置软制表符宽度为4
set softtabstop=4            " 设置软制表符宽度为4
set shiftwidth=4             " 设置缩进的空格数为4
set autoindent               " 设置自动缩进:即每行的缩进值与上一行相等
set smartindent              " 开启新行时使用智能自动缩进
set expandtab                " 空格代替制表符
set cindent                  " 使用 C/C++ 语言的自动缩进方式

set foldenable               " 开始折叠
set foldmethod=syntax        " 设置语法折叠
set foldcolumn=0             " 设置折叠区域的宽度
setlocal foldlevel=9999      " 设置折叠层数为 1
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> " 用空格键来开关折叠

set autochdir                " 自动切换当前目录为当前文件所在的目录
set backupcopy=yes           " 设置备份时的行为为覆盖
set matchtime=2              " 短暂跳转到匹配括号的时间
set nobackup                 " 取消备份文件 默认情况下,文件保存时,会额外创建一个备份文件,它的文件名是在原文件名的末尾,再添加一个波浪号~
setlocal noswapfile          " 不创建交换文件。交换文件主要用于系统崩溃时恢复文件,文件名的开头是.、结尾是.swp
set noundofile               " 取消生成un文件
set magic                    " 设置魔术
set backspace=indent,eol,start     " 不设定在插入状态无法用退格键和 Delete 键删除回车符
set cmdheight=1              " 设定命令行的行数为 1
set laststatus=2             " 显示状态栏:默认值为 1, 无法显示状态栏
set showmode                 " 在底部显示,当前处于命令模式还是插入模式
set showcmd                  " 命令模式下,在底部显示,当前键入的指令。比如输入快捷键将在底部显示具体命令
set noerrorbells

.bashrc配置
PS1="${debian_chroot:+($debian_chroot)}\[\033[01;31m\][\T]\[\033[00m\]\[\033[01;32m\][\u]\[\033[00m\]\[\033[01;33m\][\#]\[\033[00m\]:\[\033[01;34m\]\w\[\e[1:44m\]\n\$ \[\033[00m\]"
常用操作

按键 | 意义

  • | -
    基本操作 |
    jkhl | 下上左右
    ^ | 跳到行首
    $ | 跳到行末
    0 | 跳到行首(更好敲
    g_ | 跳到行末(更好敲
    u | undo
    . | redo
    ctrl + r | redo——重复上一个动作
    ctrl + n | 在插入模式下,自动补全功能
    Ncommand | 重复某个命令N次(例如:100iabcd,会执行100遍iabcd,即写100遍abcd)
    :!command | 不退出vim下执行命令
    搜索替换 |
    /word | 搜索word
    n 、 N | 上一个 、 下一个
    :n1,n2s/word1/word2/g | [n1,n2]行之间的word1替换成word2
    :1,$s/word1/word2/g或者 :%s/word1/word2/g | 从第一行到最后一行word1换成word2
    :1,$s/word1/word2/gc或者 :%s/word1/word2/gc | 从第一行到最后一行word1换成word2,且在取代之前显示提示字符让用户确认(按y确认)
    :n1,n2s/^/#/g | 在[n1,n2]行前面加上 # (批量加注释)
    :n1,n2s/#//g | 在[n1,n2]行前面删掉#
    文本编辑 |
    v | 进入编辑模式(普通选中模式)
    ctrl + v | 进入编辑模式(块操作模式)(竖着选中)
    I (大写的 i )| 在块选择下,在前插入
    A | 在块选择下,最后面追加插入
    $ | 对选择块的每行的末尾(每行末尾可能不在一个竖线上)
    录制宏操作 |
    qa | 开始录制
    q | 结束录制
    ctrl + a | 给光标处的数(连续的数字)增加1
    @a | 重复录制的操作(重复100遍就是100@a)
g 和 %
  • :g
    • global,全局的
    • 用于正则匹配
    • 用法
        # 一般格式:
        :[range]g/pattern/cmd		# 对range内所有符合pattern的行执行cmd
        # 删除包含某个Pattern的行
        :g/pattern/d
        # 删除不包含某个Pattern的行
        :g!/pattern/d    或者     v/pattern/d
        # 替换
        s/parttern/replacement/
        # 开始的g是全局命令:对所有与地址匹配的行进行改变;结尾的g是一个标志:改变一行上的每个
        g/parttern/s/parttern/replacement/g 		
      
    • linux中grep = g/rep/p
  • :%
    • 代表对文件的每一行
    • % = g/.*/
    • 用法:
        # 一般格式
        
      
例子1 写入自增1到100
  对于只有一个1的文本:
  输入 qayyp<C-a>q  	#完成录制
  输入 98@a   			#完成重复
例子2 空格和换行替换
# 空格(一个或多个)替换成换行
:%s/ +/\r/g
# 上面有个空格
# %s :在整个文件范围查找替换
# / :分隔符
# + :匹配空格,其中“ ”表示空格,+表示重复1次或多次,加在一起表示一个或多个空格。
# /r :换行符(这里只能用\r不能用\n)
# /g :全局替换
# 换行替换成空格
:%s/\n/ /g
# 这里只能用\n,不能用\r

NOTE:上面一个是\r匹配,一个是\n匹配

\n 、 \r 、 \r\n 的区
  • \n
    换行
    光标移动到当前位置的下一行,不会回到行首
  • \r
    回车
    光标移动到当前行的行首
  • windows中:
    • 每行结尾是回车+换行(\r\n)
  • linux中:
    • 每行结尾只有换行(\n)
    • \n 是linux的结束符,所以查找时使用 \n 来匹配
例子3 把空行删除
:g/^$/d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值