文章目录
github 链接:仓库地址
.bashrc 设置
#配置 vi 操作 linux shell
set -o vi
#使用 vi 替换 vim
alias vi='vim'
.vimrc 设置
"==================="
"1.基本设置"
"==================="
set wildmenu "按TAB键时命令行自动补齐,显示补齐命令"
set nu "显示行号
sy on "开启语法高亮功能"
set enc=utf-8 "设置编码格式为utf-8
set ruler "显示当前光标位置"
set autoread "文件在Vim之外修改过,自动重新读入"
set autowrite "设置自动保存内容"
"set autochdir "当前目录随着被编辑文件的改变而改变"
set nocp "使用vim而非vi,设置与vi不兼容模式"
"set mouse=v "开启鼠标 a:所有模式 v:可视模式
set nocursorline " 关闭下划线显示
"设置 <leader> 为 空格键
let mapleader = "\<space>"
"set pastetoggle=<F11> "F11来支持切换paste和nopaste状态。"
"============="
"2. 设置缩进"
"============="
set cindent "c/c++自动缩进"
set smartindent
set shiftwidth=4
set tabstop=4
set expandtab
"============="
"3. 显示字符 空格 tab"
"============="
set listchars=tab:>-,trail:~
set list
colorscheme desert
"================="
"4 当前文件内搜索选项"
"================="
set hlsearch "开启搜索结果的高亮显示"
set incsearch "边输入边搜索(实时搜索)"
" 设置搜索高亮颜色, 文本中取消高亮, 输入 :noh
hi Search term=reverse ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow
set ignorecase "搜索时忽略大小写
set smartcase "有一个或以上大写字母时仍大小写敏感
set showcmd "显示未敲完的命令
"========================"
"5.txt文件按照wiki语法高亮"
"========================"
autocmd BufNewFile *.txt set ft=confluencewiki
autocmd BufEnter *.txt set ft=confluencewiki
"=========================="
"6.不要交换文件和备份文件,减少冲突,保留撤销能力到 undodir"
"=========================="
"set noswapfile
"set nowritebackup
set nobackup
set undofile "enable undofile feature
set undodir=~/.vim/undodir
if !isdirectory(&undodir)
call mkdir(&undodir, 'p', 0700)
endif
"----------------------------------------------------------------------
" Movement Enhancement
" <ALT-b> 会被识别成 <ESC>b
" 可通过:h set-termcap 查看
" 替换 :set <M-b>=^[b
" 在网上找了一下资料才明白原来将 "<A+key>" 的输入格式改为 "^[key" 就可以了
" 输入方式:在插入模式下,先按下 Crtl+v会出现^ ,后在按下 Alt+key(你想设置的键),这样vim中显示为:^[key, 这样就搞定了……
" !!!! 必须手动改,复制无效 !!!
"----------------------------------------------------------------------
noremap ^[h b
noremap ^[l w
noremap ^[j gj
noremap ^[k gk
"inoremap ^[h <C-left>
"inoremap ^[l <C-right>
"inoremap ^[j <C-\><C-o>gj
"inoremap ^[k <C-\><C-o>gk
"inoremap ^[y <C-\><C-o>d$
cnoremap ^[h <C-left>
cnoremap ^[l <C-right>
cnoremap ^[b <C-left>
cnoremap ^[f <C-right>
常用操作
:nohl
或者 :nohlsearch
: 取消搜索高亮
:set mouse?
:查看 vim 是否 开启鼠标模式
/\ctest
: 忽略大小写搜索 test,会匹配 test TEST 等
/\Ctest
: 大小写敏感搜索 test,只会匹配 test
设置忽略大小写:底行模式下,输入命令 set ignorecase,在没关闭该文件前提下,字符串的查找都将不区分大小写
开启鼠标模式
:set mouse=x
, x取值如下, 例如:set mouse=a
, 开启所有模式的mouse支持
-
n 普通模式
-
v 可视模式
-
i 插入模式
-
c 命令行模式
-
h 在帮助文件里,以上所有的模式
-
a 以上所有的模式
-
r 跳过 |hit-enter| 提示
-
A 在可视模式下自动选择
关闭鼠标模式
:set mouse=
, =后面不要跟任何值, 可以关闭鼠标模式
给 git bash 或 cmder 中的 vim 添加插件
git bash
1、 找到 git 安装目录,进入到 etc 文件夹,我的路径为 C:\Program Files\Git\etc
2、 创建 .vim 目录,并在该目录中创建 autoload 目录
可在git bash 中执行 (etc 目录下执行), 如下命令 mkidr -p .vim/autoload
备注:如果创建失败,显示没有权限,使用管理员权限打开 git bash,在执行即可
3、添加 plug.vim 文件到 autoload 目录 (etc 目录下执行)
curl -o .vim/autoload/plug.vim https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
4、在 .vimrc 中添加
set nocompatible " be iMproved, required
" set the runtime path to include autoload
set rtp+=/etc/.vim
call plug#begin()
Plug 'jiangmiao/auto-pairs'
call plug#end()
说明:首先将要添加的插件放在 call plug#begin()
和 call plug#end()
中间
5、 使用 vim 随意打开一个文件,执行 :PlugInstall
安装配置的插件
我这里配置的是 auto-pairs
插件 执行 :PlugStatus
可查看插件安装状态
cmder
cmder 操作和 git bash 类似,这里简单记录一下
1、 找到 cmder 安装目录,进入到 etc 文件夹,我的路径为 C:\work_software\cmder\vendor\git-for-windows\etc
2、后续操作和 git bash 一致,参考上文
3、vimrc 添加内容
set nocompatible " be iMproved, required
" set the runtime path to include autoload
set rtp+=C:/work_software/cmder/vendor/git-for-windows/etc/.vim
call plug#begin()
Plug 'jiangmiao/auto-pairs'
call plug#end()
和 git bash vimrc 区别
rtp 路径设置不同,rtp 是 vim 的运行时路径,设置为 cmder .vim 绝对路径即可
vim 中查看 rtp : :set rtp
或者 :set rtp?
注意: 路径格式,使用的是 斜杠 /
,linux 目录格式
gvim
默认的vim编辑窗口大小一般很小,如果每次 都手工调整大小会很麻烦,所以这里我们在_vimrc这个文件中设置vim默认的窗口大小。
打开_vimrc,输入以下代码:
set lines=35 columns=118
其中lines是窗口显示的行数,columns是窗口显示的列数,大家根据自己的习惯可以调整这两个数字的大小。
winpos 300 0
后面两个参数指的自屏幕左上角像素值参考位置
设置 gvim 字体类型及大小
高分辨率屏下,gvim显示字体非常小,可以通过以下命令调整字体大小,调整字体大小的同时,窗口相应变大。
set guifont=Courier_new:h14
也可以将上面命令写到_vimrc,成为默认方案,冒号分隔的两个参数中前者表示字体后者表示字号
eg:
set lines=35 columns=118
winpos 300 0
set guifont=Courier_new:h20
spaceVim
init.toml
#=============================================================================
# basic.toml --- basic configuration example for SpaceVim
# Copyright (c) 2016-2022 Wang Shidong & Contributors
# Author: Wang Shidong < wsdjeg@outlook.com >
# URL: https://spacevim.org
# License: GPLv3
#=============================================================================
# All SpaceVim option below [option] section
[options]
# set spacevim theme. by default colorscheme layer is not loaded,
# if you want to use more colorscheme, please load the colorscheme
# layer
colorscheme = "gruvbox"
colorscheme_bg = "dark"
# Disable guicolors in basic mode, many terminal do not support 24bit
# true colors
enable_guicolors = false
# Disable statusline separator, if you want to use other value, please
# install nerd fonts
statusline_separator = "nil"
statusline_iseparator = "bar"
buffer_index_type = 4
windows_index_type = 3
enable_tabline_filetype_icon = false
enable_statusline_mode = false
statusline_unicode = false
# Enable vim compatible mode, avoid changing origin vim key bindings
vimcompatible = true
# Enable autocomplete layer
[[layers]]
name = 'autocomplete'
auto_completion_return_key_behavior = "complete"
auto_completion_tab_key_behavior = "cycle"
[[layers]]
name = 'shell'
default_position = 'top'
default_height = 30
[[layers]]
name = "lang#c"
enable_clang_syntax_highlight = true
[[layers]]
name = "lsp"
filetypes = [
"c",
"cpp"
]
[layers.override_cmd]
c = ["clangd"]
[[layers]]
name = "format"
[[layers]]
name = "lang#go"
[[layers]]
name = "lang#c"
[layer.clang_std]
cpp = "c11"
.gitconfig
[alias]
st = status
ci = commit
br = branch
co = checkout
au = add -u
ll = log --oneline --graph
d = difftool
[diff]
tool = vimdiff
git difftool 设置:
git config --global diff.tool vimdiff
参考链接
https://blog.csdn.net/ballack_linux/article/details/56670311
https://blog.csdn.net/ballack_linux/article/details/83899103
git 配置beyond compare