Coder Social home page Coder Social logo

ruchee / vimrc Goto Github PK

View Code? Open in Web Editor NEW
415.0 43.0 176.0 37.41 MB

Ruchee's Vim Config Files

License: MIT License

Ruby 1.67% Shell 0.58% CSS 0.39% Makefile 1.11% Erlang 1.80% JavaScript 0.11% Python 89.51% PHP 0.01% Clojure 0.59% CoffeeScript 0.12% HTML 2.24% C# 0.02% Perl 1.04% Racket 0.01% Scala 0.16% Swift 0.14% F# 0.03% Batchfile 0.29% D 0.14% Smarty 0.01%
vim

vimrc's Introduction

Vim Ruchee



macOS

  1. brew install --cask macvim
  2. brew install ctags git
  3. 删除个人主目录下的 .vim 文件夹和 .vimrc 文件(如果存在的话) [ 命令为 rm -rf ~/.vim ~/.vimrc ]
  4. 使用 Git 下载本项目,然后将项目的子目录拷贝到个人主目录下,并将 vimfiles_vimrc 分别重命名为 .vim.vimrc [ 命令为 git clone https://github.com/ruchee/vimrc.git ~/vimrcmv ~/vimrc/vimfiles ~/.vimmv ~/vimrc/_vimrc ~/.vimrc ]
  5. 指定在终端使用 MacVim [ 命令为 ln -s /Applications/MacVim.app/Contents/bin/* /usr/local/bin ]

Linux

  1. sudo apt-get install vim-gtk exuberant-ctags git [ 非 Debian/Ubuntu 系统安装命令略有不同 ]
  2. 删除个人主目录下的 .vim 文件夹和 .vimrc 文件(如果存在的话) [ 命令为 rm -rf ~/.vim ~/.vimrc ]
  3. 使用 Git 下载本项目,然后将项目的子目录拷贝到个人主目录下,并将 vimfiles_vimrc 分别重命名为 .vim.vimrc [ 命令为 git clone https://github.com/ruchee/vimrc.git ~/vimrcmv ~/vimrc/vimfiles ~/.vimmv ~/vimrc/_vimrc ~/.vimrc]
  4. 下载 Monaco 字体,下载后使用命令 mv monaco.ttf ~/.fonts 完成安装 [ Monaco 字体下载地址 https://github.com/todylu/monaco.ttf/blob/master/monaco.ttf?raw=true ]

Windows

  1. 访问 http://www.vim.org/download.php#pc 下载最新的 gVim(有可能需要翻墙才能访问)
  2. 安装 gVim 到任意目录,这儿为方便讲解,我假定你安装到了 D:\Apps\Vim
  3. D:\Apps\Vim\vim82 加入 path 环境变量 [ 不知何为环境变量者,请求助于搜索引擎 ]
  4. 删除 Vim 安装目录下的 vimfiles 目录以及 _vimrc 文件 [ 如果你自己修改过配置,请注意备份 ]
  5. 使用 Git 下载本项目,然后将项目的子目录拷贝到 Vim 安装目录下,取代已删文件的位置 [ 命令为 git clone https://github.com/ruchee/vimrc.git ](也可以点击本页面的 Code -> Download ZIP 按钮下载)
  6. 访问 http://ctags.sourceforge.net 下载最新的 ctags,将 ctags.exe 复制到 D:\Apps\Vim\vim82 目录
  7. 安装 Monaco 字体,本配置默认使用该字体,可上 https://github.com/todylu/monaco.ttf/blob/master/monaco.ttf?raw=true 下载,下载后丢到 C:\WINDOWS\Fonts 目录即可

Cygwin

  1. 启动 Cygwin 安装器,选中 vimgitInstall 状态,然后开始安装,直至安装完成
  2. 打开 Cygwin 终端,用 Git 下载本项目
  3. 余下各步骤与上述 Linux 下的步骤完全一样,这儿不再赘述
  4. 字体安装这一步,因为 Cygwin 沿用的是 Windows 的字体,所以将字体文件放到 C:\WINDOWS\Fonts 下即可

注意事项

  1. 使用说明全部集中在 _vimrc 文件的头部,配置的后半部分是各插件的具体配置项,初学无需理会
  2. 如出现快捷键不响应的情况,请检查你是否开启了其他软件(比如 金山词霸 等),某些软件的快捷键有可能和 Vim 相冲突,只需修改或禁用这些软件的快捷键即可
  3. 本配置默认显示的是相对行号,如不习惯,可注释掉配置中的 set relativenumber 一项,以使用绝对行号
  4. 如果条件允许,最好用 universal-ctags 替代老旧的 ctags
  5. 部分插件需要脚本语言的支持,如果条件允许,请安装 Python3Ruby 等语言的运行环境
  6. 本配置集成了 vim-sync 插件,可以和远程服务器相互传输文件,使用此功能需要先配置项目的 .sync,详情请参考 eshion/vim-sync#10
  7. php-cs-fixer 的配置,请参考:https://www.ruchee.com/notes/2021/use_php-cs-fixer_format_php_code.html
  8. 请尽量使用最新的 Vim 8.x 版本,低版本部分功能可能无法正常工作

ctags 简易的使用说明,这儿以 Windows 下的 MinGW 为例

  1. 首先确保系统能够找到 ctags,也就是 ctags 添加到了系统的 path 环境变量
  2. MinGW 为例,到编译器安装目录的 include 目录上(譬如 D:\MinGW\include )执行命令 ctags -R --languages=c,c++
  3. _vimrc 文件中添加两行 set tags+=D:/MinGW/include/tagsset path+=D:/MinGW/include
  4. 以后编辑 C/C++ 源文件时,键入一小部分字符,然后按 Ctrl+P 即可拥有简单的 C/C++ 代码补全
  5. 将光标移到某个函数名上,按 Ctrl+]Vim 将自动跳转到该函数的定义,按 Ctrl+T 可返回跳转之前的位置

社区还有更强大的补全工具 YouCompleteMeLSP,本配置未集成,请自行探索安装


LSP 补全配置参考

需要安装四个插件(本配置未集成,请自行下载安装)

  1. lsp
  2. lsp-settings
  3. asyncomplete
  4. asyncomplete-lsp

我的配置信息如下:

let g:lsp_diagnostics_enabled = 0  " 不使用 LSP 自带的错误检测
let g:asyncomplete_auto_popup = 0  " 禁止补全窗口自动弹出

" 使用 Ctrl + U 快捷键手动弹出补全窗口
imap <c-u> <Plug>(asyncomplete_force_refresh)

" 指定各编程语言使用的 LSP Server
let g:lsp_settings_filetype_elixir     = 'elixir-ls'
let g:lsp_settings_filetype_php        = 'intelephense'
let g:lsp_settings_filetype_python     = 'pylsp-all'
let g:lsp_settings_filetype_ruby       = 'solargraph'
let g:lsp_settings_filetype_javascript = 'deno'
let g:lsp_settings_filetype_typescript = 'deno'

详细使用方法请参考:https://github.com/mattn/vim-lsp-settings


自定义配置

可在指定目录放置一个配置文件来覆盖本配置的默认设置项

  1. macOSLinux 放在 HOME 目录下,命名为 .self.vim
  2. Windows 放在 Vim 安装目录下,命名为 _self.vim

下面是一个配置文件的示例:

"----------------------------------------------------------------------

let g:snips_author = 'Ruchee'

"----------------------------------------------------------------------

" 进行 LISP 开发时,将此设置值改为0,以关闭默认的 NERD Commenter 按键映射
" NERD Commenter 和 Vlime 的按键有冲突
let g:NERDCreateDefaultMappings = 1

"----------------------------------------------------------------------
" For Elixir

let g:tagbar_type_elixir = {
    \ 'ctagstype' : 'elixir',
    \ 'kinds' : [
        \ 'm:modules',
        \ 'f:functions',
        \ 'p:protocols',
        \ 'c:callbacks',
        \ 'd:delegates',
        \ 'e:exceptions',
        \ 'g:guards',
        \ 'i:implementations',
        \ 'a:macros',
        \ 'o:operators',
        \ 'r:records',
        \ 't:tests',
        \ 'y:types',
    \ ]
\ }

au FileType erlang set tags+=~/code/data/sources/languages/erlang/tags
au FileType elixir set tags+=~/code/data/sources/languages/elixir/tags

"----------------------------------------------------------------------
" For TypeScript

let g:tagbar_type_typescript = {
    \ 'ctagstype': 'typescript',
    \ 'kinds': [
        \ 'n:namespaces',
        \ 'i:interfaces',
        \ 'c:classes',
        \ 'g:enums',
        \ 'e:enumerators',
        \ 'm:methods',
        \ 'f:functions',
        \ 'z:function parameters',
        \ 'p:properties',
        \ 'v:variables',
        \ 'l:local variables',
        \ 'C:constants',
        \ 'G:generators',
        \ 'a:aliases',
    \ ]
\ }

"----------------------------------------------------------------------

本配置文件的更新以我本机的实际使用情况为准

祝使用愉快

vimrc's People

Contributors

ruchee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vimrc's Issues

win7 64位 vim80启动时出错:E484

VIM更新到8.0,尝试更新,配置也全部更新了一次,
结果,启动GVIM时,不停的出现以下错误,没办法编辑操作了:
image 1
请问一下,是怎么一回事,
使用步骤按你说明配置的.

代码复制的问题

  兄弟,你这配置挺好,非常感谢。有个问题比较头疼,就是我用ssh登陆服务器,从其它地方拷贝代码粘贴到服务器上面的vim时候,换行的缩进问题很大。越靠后的行,缩进越多,有估计都缩进好几行了,无法复制。麻烦解决下这个问题。
   2.还有个问题,这个vim主题能匹配代码的各种颜色吗?为啥我这完全大部分都是白色字体,好像得自己换主题才行。
  3. 还有这airline什么的,你这个字体应该不行吧,得专门打了ryanoasis/nerd-fonts  这个补丁的才能正常显示。
  4.没用Vundle是因为加载的时候时间更长了吗?

我这边有报错

处理 /root/.vimrc 时发生错误:
第 702 行:
E117: Unknown function: promptline#slices#vcs_branch
E15: 无效的表达式: {'a' : [ '\u' ],'b' : [ '\W' ],'c' : [ promptline#slices#vcs_branch(), promptline#slices#git_status() ],'warn' : [ promptline#slices#last_exit_code() ]} " 自定义命令行显示
请按 ENTER 或其它命令继续

在Windows下安装时,出现错误。

您好,当我在Windows下安装你的步骤配置后,尝试运行时,出现了以下错误:
image
关于bash错误,是由于我的启动是在windows powershell里面启动的。所以bash启动错误吗?(我没有下载配置bash)
而后面的打开文件错误,是什么原因造成的?是否有解决方案?()

macvim,保存php文件时弹出来报错

d85092d4-3b3d-4969-b342-3a773e15eabc

macvim,保存php文件时弹出来这种好像是语法报错的东东,其实php语法没问题,只是好像这个检查语法的功能找不到对象的关联关系,我想问一下,这个是哪个插件起的作用?

vim输入空格显示字符点

我的环境是win7 gvim 我用你的配置文件,在输入空格或tab时输出 字符点 ,请教解决一下,谢谢

新手

我是一个刚刚刚刚接触vim的,是因为被一些IDE编程软件坑了,然后被朋友安利vim,我想问下,
1:我打开了我原有的一个.cpp文件,但是为什么没有语法高亮
2:vim是一个编辑器,要下一个编译器一起用才能编译c++文件么,看到网上有说:Make可以,试了一下不行。我初期只是想用vim来编译运行c++文件
3:插件是在你给的文件中了,还是要自己去下载

关于安装plugin

用这个配置文件很久了,很好用。朋友都说很炫。很多需要的插件都自带了。我看了以下,你的插件目录应该是.vim/bundle,直接放进去就可以。而.vim/vimfile/bundle 下具有和.vim/bundle目录下同样的文件。另外,好像不能使用vim bundle来安装plugin

但是好像不支持C语言的补全

很喜欢,还在熟悉中,但是全能不全好像不支持C语言,我希望我输入inclu它就能知道我是想输入include并且能按补全命令补全,这个功能有吗?

编辑器延迟

打开文件后,用 j k 移动光标,按住不松手会有延迟。松手之后会继续移动一段时间。有没有办法解决

更换主题

原有主题下,下划线_偶尔看不见。所以我想更换一下主题,请问如何更改.vimrc文件

java出现乱码

大神,你好。我在编写了一点java代码后,然后javac编译后再打开文件时,在最开始的public class a{后面出现大串乱码,其实后面是没有东西的

谢谢你的配置。很清爽。很帅!

嗯。有一些问题。win8上打开gvim后,输入“#include<stdio.h>”后没有语法高亮,“int main()”后中间会有奇怪的东西。嗯,它默认不是c语言吧。我是新手,不知道怎么改。打开一个.c或者.cpp后会有语法高亮。还有,默认保存的时候选了.cpp,可是退出后查看,没有后缀。

好像不支持C语言的补全

我想要我输入inclu的时候能通过命令补全变成include,试了好久都没成功,是不支持c还是我没搞出来呀?还望赐教

ubuntu下backspace不执行删除操作

要使用ctrl+backspace才能执行删除。
检查了vimrc文件backspace=2,兼容模式为关闭。
尝试了google检索来的方法——使用语句backspace=indent,eol,start,也不能解决问题。
请教下,这个问题咋解决。

排版乱

`您好,我从网页上复制一段代码贴到vim中后排版就很乱,请问这是配置文件的问题还是啥?
还有一个问题就是你这个配置文件怎么看文件的编码格式呀?还是我只能自己输入:set fileencoding?

行号随着光标的移动,来回变。

系统win 10 64位

vim版本信息:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jul 1 2017 22:02:17) MS-Windows 64-bit GUI version 带 OLE 支持 包含补丁: 1-692 编译者 appveyor@APPVYR-WIN

行号会随着光标的移动,来回变化。不知道这是bug,还是有意这么配置的。
如果是bug,应该如何固定显示的行号呢?

qq 20170706202339

打开vim时好多错误

大神,今天我换了ubuntu32位16.04的,之前64位的没问题,但是这个一打开vim就有好多错误,什么/tmp/下有个文件打不开,还有WIN啥的未定义

vim存盘退出,缓冲区的问题

我在vim a.txt 中,再 tabe 个 b.txt
当b.txt存退出时,但缓冲区内容还在(ls里有的),如何实现b.txt :wq后,自动删除其缓冲区的文件?

建议

大佬您好,我有个小建议:创建新文件时能根据后缀自动帮我们加上必须的文字。比如c代码的#include<stdio.h>和主函数,脚本的#! /bin/bash等

蛮郁闷的,

我的Ubuntu下。运行报错啊。不是编辑器的命令: ^M
不知道meta键要怎么搞才行啊。我用的zsh,难道和这个有关系?

Ctrl+A, Ctrl+v, Ctrl+s等快捷键的映射在哪里?

我想在插入模式下正常的使用这几个快捷键,应该怎么改?
全选, 复制,粘贴,保存啥的。比底行命令来的快捷

还有相对行号和绝对行号可以弄个快捷键互换一下..比如这样:
function! NumberToggle()
if(&relativenumber == 1)
set norelativenumber number
else
set relativenumber
endif
endfunc
nnoremap :call NumberToggle()

卡死

我就像平时一样编辑,然后按esc进入普通模式时就卡死了,怎么按都没反应,只好杀死。而且编辑的文件也消失了。系统为ubuntu 16.04 32位。大佬遇到过这个情况吗

更新插件

ruchee:
请问该如何一次性更新所有插件,因为插件目录中并没有.git

Use of mutation testing in vimrc - Help needed

Hello there!

My name is Ana. I noted that you use the mutation testing tool mutpy in the project.
I am a postdoctoral researcher at the University of Seville (Spain), and my colleagues and I are studying how mutation testing tools are used in practice. With this aim in mind, we have analysed over 3,500 public GitHub repositories using mutation testing tools, including yours! This work has recently been published in a journal paper available at https://link.springer.com/content/pdf/10.1007/s10664-022-10177-8.pdf.

To complete this study, we are asking for your help to understand better how mutation testing is used in practice, please! We would be extremely grateful if you could contribute to this study by answering a brief survey of 21 simple questions (no more than 6 minutes). This is the link to the questionnaire https://forms.gle/FvXNrimWAsJYC1zB9.

Drop me an e-mail if you have any questions or comments ([email protected]). Thank you very much in advance!!

关于使用上的一些问题

1:您说的首先确保系统能够找到 ctags,也就是 ctags 添加到了系统的 path 环境变量,是将ctags的文件夹路径加入环境变量么,例如我的是I:\Vim\ctags58
2:无法编译c/cpp,提示C:\windows\system32\cmd.exe /c (g++ -Wall -std=c++14 -o t t.cpp ^&^& t.exe)
cc1plus.exe: error: unrecognized command line option "-std=c++14"
shell returned 1
3:您提到的snippets 补全文件如何下载呢
4:之前我使用过的两个插件蛮不错的, vimtweak(win下的窗口透明工具,我感觉非常实用), nerdtree(目录树,也很实用)

airline tab栏出现/x/h/D/之类字符

" AirLine 彩色状态栏
let g:airline_theme = 'badwolf' " 设置主题
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#show_tabs = 0
" tabline中buffer显示编号
let g:airline#extensions#tabline#buffer_nr_show = 1
"alrLine && PowerLine Config
let g:Powerline_symbols = 'fancy'
let g:airline_powerline_fonts = 1
let Powerline_symbols = 'compatible'
这里然后不会设置了。

qq 20150827181826

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.