vim-config

vim配置

1
set nocompatible                  " 去除对vi的兼容
2
"设置状态栏显示的内容
3
set statusline=%F%m%r%h%w [FORMAT=%{&ff}] [TYPE=%Y] [POS=%l,%v][%p%%] %{strftime("%d/%m/%y - %H:%M")} %{ALEGetStatusLine()}
4
set tags+=./tags
5
filetype off                       " 关闭文件类型检测
6
set rtp+=~/.vim/bundle/Vundle.vim   " 设置vundle路径
7
call vundle#begin()           " 插件管理函数开始 
8
Plugin 'VundleVim/Vundle.vim'
9
Plugin 'fatih/vim-go'
10
"Plugin 'Tagbar'
11
Plugin 'Valloric/YouCompleteMe'
12
Plugin 'https://github.com/scrooloose/nerdtree.git'
13
Plugin 'fatih/molokai'
14
Plugin 'majutsushi/tagbar'
15
"Plugin 'ctrlpvim/ctrlp.vim'
16
Plugin 'morhetz/gruvbox'
17
Plugin 'Raimondi/delimitMate'
18
"Plugin 'mileszs/ack.vim'
19
Plugin 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } 
20
Plugin 'junegunn/fzf.vim' 
21
Plugin 'Xuyuanp/nerdtree-git-plugin'
22
Plugin 'vim-airline/vim-airline' 
23
Plugin 'w0rp/ale'
24
Plugin 'nsf/gocode', {'rtp': 'vim/'}
25
call vundle#end()            " 插件管理函数结束
26
"NERDTree config
27
"autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif  " 当目录树窗口为最后一个窗口时自动退出vim
28
"inoremap jj <Esc>
29
"let g:go_highlight_types = 1
30
"let g:go_highlight_fields = 1
31
"let g:go_highlight_functions = 1
32
"let g:go_highlight_function_calls = 1
33
"let g:go_highlight_operators = 1
34
"let g:go_highlight_extra_types = 1
35
let mapleader = " "
36
let g:quickfix_hight=70
37
"=====================
38
"ack
39
"=====================
40
"map <c-u> :Ack<space>
41
nnoremap <c-p> :Files<CR>
42

43
" 退出插入模式指定类型的文件自动保存
44
au InsertLeave *.go,*.sh,*.php write
45

46
" Tagbar
47
" 打开和关闭NERDTree快捷键
48
map <leader>fl :NERDTreeToggle<CR> 
49
" 显示行号
50
let NERDTreeShowLineNumbers=1
51
" 打开文件时是否显示目录
52
let NERDTreeAutoCenter=1
53
" 是否显示隐藏文件
54
let NERDTreeShowHidden=0
55
" 设置宽度
56
" let NERDTreeWinSize=31
57
" 忽略一下文件的显示
58
let NERDTreeIgnore=['.pyc','~$','.swp']
59
" 打开 vim 文件及显示书签列表
60
let NERDTreeShowBookmarks=2
61
" 在终端启动vim时,共享NERDTree
62
let g:nerdtree_tabs_open_on_console_startup=1
63

64
let g:ale_sign_column_always = 1
65
let g:ale_set_highlights = 0
66
"自定义error和warning图标
67
let g:ale_sign_error = '?'
68
let g:ale_sign_warning = '?'
69
"在vim自带的状态栏中整合ale
70
let g:ale_statusline_format = ['? %d', '? %d', '? OK']
71
"显示Linter名称,出错或警告等相关信息
72
let g:ale_echo_msg_error_str = 'E'
73
let g:ale_echo_msg_warning_str = 'W'
74
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
75
"let g:ale_linters = {
76
""   'golang': ['gofmt','golint','errorCheck'],
77
""}
78

79
let g:ctrlp_match_window = 'bottom,order:btt,min:1,max:10,results:128'
80
"==============================================================================
81
"  majutsushi/tagbar 插件
82
"==============================================================================
83

84
" majutsushi/tagbar 插件打开关闭快捷键
85
nmap <leader>f :TagbarToggle<CR>
86

87
let g:tagbar_width=65
88
let g:tagbar_type_go = {
89
     'ctagstype' : 'go',
90
     'kinds'     : [
91
         'p:package',
92
         'i:imports:1',
93
         'c:constants',
94
         'v:variables',
95
         't:types',
96
         'n:interfaces',
97
         'w:fields',
98
         'e:embedded',
99
         'm:methods',
10 大专栏  vim-config0
         'r:constructor',
101
         'f:functions'
102
     ],
103
     'sro' : '.',
104
     'kind2scope' : {
105
         't' : 'ctype',
106
         'n' : 'ntype'
107
     },
108
     'scope2kind' : {
109
         'ctype' : 't',
110
         'ntype' : 'n'
111
     },
112
     'ctagsbin'  : 'gotags',
113
     'ctagsargs' : '-sort -silent'
114
 }
115
"==============================================================================
116
"  nerdtree-git-plugin 插件
117
"==============================================================================
118
let g:NERDTreeIndicatorMapCustom = {
119
     "Modified"  : "?",
120
     "Staged"    : "?",
121
     "Untracked" : "?",
122
     "Renamed"   : "?",
123
     "Unmerged"  : "═",
124
     "Deleted"   : "?",
125
     "Dirty"     : "?",
126
     "Clean"     : "??",
127
     'Ignored'   : '?',
128
     "Unknown"   : "?"
129
     }
130
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
131
let g:NERDTreeShowIgnoredStatus = 1
132

133
let g:go_fmt_command = "goimports"
134
let g:rehash256 = 1
135
let g:molokai_original = 1
136

137

138

139

140
" YouCompleteMe
141
"set runtimepath+=~/.vim/bundle/YouCompleteMe
142
"let g:ycm_collect_identifiers_from_tags_files = 1           " 开启 YCM 基于标签引擎
143
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
144
"let g:syntastic_ignore_files=[".*.py$"]
145
let g:ycm_seed_identifiers_with_syntax = 1                  " 语法关键字补全
146
"let g:ycm_complete_in_comments = 1
147
"let g:ycm_confirm_extra_conf = 0
148
let g:ycm_key_list_select_completion = ['<c-j>', '<Down>']  " 映射按键, 没有这个会拦截掉tab, 导致其他插件的tab不能用.
149
let g:ycm_key_list_previous_completion = ['<c-k>', '<Up>']
150
let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全
151
let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全
152
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全
153
"let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
154
"let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查
155
inoremap <expr> <CR> pumvisible() ? "<C-y>" : "<CR>" |            " 回车即选中当前项
156
let g:ycm_min_num_of_chars_for_completion=2                 " 从第2个键入字符就开始罗列匹配项
157
let g:ycm_autoclose_preview_window_after_completion = 1
158
let g:ycm_autoclose_preview_window_after_insertion = 1
159

160

161

162

163

164

165

166

167
"colorscheme molokai
168
set bg=dark                     "设置背景为黑色
169
colorscheme gruvbox             "设置主题为 gruvbox
170
set guioptions=                 "去掉两边的scrollbar
171
set guifont=Monaco:h17          "设置字体和字的大小
172

173

174

175

176

177
syntax on "显示行号
178
"设置缩进
179
set tabstop=4
180
set softtabstop=4
181
set shiftwidth=4
182
set nu
183
set cursorline "突出显示当前行
184
" ==== 系统剪切板复制粘贴 ====
185
" v 模式下复制内容到系统剪切板
186
vmap <Leader>c "+yy
187
" n 模式下复制一行到系统剪切板
188
nmap <Leader>c "+yy
189
" n 模式下粘贴系统剪切板的内容
190
nmap <Leader>v "+p
191
set incsearch
192
set ignorecase
193
filetype plugin indent on    " 必须,作用未知
194

195
let g:go_def_mode='gopls'
196
let g:go_info_mode='gopls'
197
nmap fs :GoFillStruct<CR>
198
nmap fr :YcmCompleter GoToReferences<CR>
199
nmap fe :GoIfErr<CR>

原文地址:https://www.cnblogs.com/lijianming180/p/12389270.html

时间: 2024-08-30 09:29:00

vim-config的相关文章

linux vim taglist config

"vim config .vimrc "taglist map <silent> <F10> :TlistToggle let tlist_php_settings='php;c:class;f:function;d:constant' let Tlist_Ctags_Cmd="/home/allen.mh/local/ctags/bin/ctags" let Tlist_Show_One_File=1 let Tlist_Exit_Only

Configurate vim tool

vim tool is a commom editor, for the sake of improving effeicient, it is necessary to configurate vim config file. The following comands will help you. vi ~/.vimrc #.vimrc is the config file of vim tool set number # show line number set hlsearch #sho

ssh 配置config 别名

打开shell 当前用户 cd ~ cd .ssh vim config Host (别名) User root(git)   登陆远程shell的用户 HostName 10.0.0.1 ip地址 Port 端口 :wq 保存退出 ssh (别名)

vim使用配置(转)

在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有行号的.语法高亮度显示.智能缩进等功能的. 为了更好的在vim下进行工作,需要手动配置一个配置文件: .vimrc 在启动vim时,当前用户根目录下的 .vimrc 文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把 .vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为: $vim ~/.vimrc 设置完成后 $:x 或者 $:wq 进行保存退出即可. 下面给出一个例子,已经很详细了,是某位大神的配置文件

学习elasticsearch(一)linux环境搭建(2)——启动elasticsearch

在启动访问es的过程中遇到了各种的奇葩问题. 1.网上各种版本的启动方式让人眼花缭乱不知如何启动.简单粗暴--到es的bin目录下直接 执行 ./elasticsearch //显示启动,ctrl+c可停止,如要操作,换个终端 ./elasticsearch -d 后台启动,可在当前终端继续操作 //后台启动,如要停止执行 kill -9 pid //哈哈,直接杀掉进程 //搜索es进程pid可以酱紫 ps aux | grep elasticsearch //注意,不确定那个是pid的话多执行

CentOS 6.6编译安装LAMP(Apache2+PHP+Mysql+PHPmyAdmin)

搭建好开发环境: Linux: CentOS 6.6(Final) x64 Apache:2.2.15 MySQL:5.1.52 PHP:5.3.2 步骤说明: 1.MySQL # yum install mysql mysql-server # chkconfig --levels 235 mysqld on # MySQL 可以随系统自己主动启动 # /etc/init.d/mysqld start # mysql_secure_installation # 设置 MySQL 数据 root

ICE分布式文件管理系统——ICE环境搭建(其二)

上一博文,我们讲述了ICE这个中间件的基本认识. 接下来我们讲述开发环境搭建. 其过程主要分为三步: 安装GCC-4.4.6.安装ICE-3.4.2.安装QT-4.7.3. (本文是基于LINUX下的ICE-3.4.2的安装,如果已安装了GCC(版本高于GCC-4.4.6亦可),请直接安装ICE) 一.安装GCC: (gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/) 一般来说基于linux的操作系统都是默认安装了GCC的.假如说你的电脑没有的话 请百度一哈,可以解决

LAMP基于FastCGI分离部署应用

实验目标 本次LAMP搭建在CentOS 7虚拟机上,基于 php-fpm(Fastcgi)实现httpd.php-fpm.mariadb三者分离,并且在LAMP上部署应用,用两个虚拟机一个虚拟主机用于提供phpMyAdmin:另一个虚拟主机用于提供wordpress:且提供 xcache加速. 实验环境部署如下: httpd 172.18.12.7 httpd-2.4.6-40.el7.centos.x86_64 php-fpm 172.18.12.8 php-fpm-5.4.16-36.el

GitLab安装说明

http://blog.csdn.net/huangzhijie3918/article/details/51330425 GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. gitlab是基于Ruby on Rails的,安装和配置非常麻烦,不过有傻瓜安装包,https://about.gitlab.com/downloads/,或者,https://bitnami.com/stack/gitl

的图形管理工具phpmyadmin

###############################mysql的图形管理工具phpmyadmin ############################### 上篇博客中,我们知道了mariadb 但是操作不方便,这篇将所有的命令用一个图形化界面简化 前提,在本机上安装mariadb,启动 yum install -y httpd  安装httpdsystemctl start httpd tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2