Vim Vundle: Plugins do not appear - vim

I have installed Vim and Vundal, but for some reason the plugins that I put in my _vimrc does not appear when type :PluginInstall. Picture:
As you can see on the left, only Plugin 'VundleView/Vundle.vim' appears even though I have added two other plugins into my _vimrc file. (I am using Windows 10 if that matters.)
What could possibly be the problem here? Am I using the wrong _vimrc file or did I miss some steps?
Here is my vimrc file:
" Vim with all enhancements
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
syntax off
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'preservim/nerdtree'
Plugin 'tpope/vim-fugitive'
" Keep Plugin commands between vundle#begin/end.
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
" Use the internal diff if available.
" Otherwise use the special 'diffexpr' for Windows.
if &diffopt !~# 'internal'
set diffexpr=MyDiff()
endif
function! MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg1 = substitute(arg1, '!', '\!', 'g')
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg2 = substitute(arg2, '!', '\!', 'g')
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let arg3 = substitute(arg3, '!', '\!', 'g')
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction

Related

Vim preferences

I've searched high and low but cannot get the correct syntax etc. I'd like to set my vim_rc file so I'm using the evening theme and 16pt Lucida console text as a default. I've tried many combinations and I am not having much joy on the web. At present, I'm receiving the following error:
Error detected while processing C:\Program Files
(x86)\Vim\_vimrc:
line 47:
E518: Unknown option: Console\ 14
and my vim file (based on web advice) looks like the following
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set textwidth=80
set guifont=Lucida Console\ 14
You have to escape spaces with a backslash. You've already done so for the space after "Console". You just need to also escape the one before "Console".
set guifont=Lucida\ Console\ 14
in _vimrc file:
set guifont=Lucida_Console:h14

How to make my gvimrc file use my vimrc file (VIM)

TDLR; I am unable to edit gvim using the _vimrc file
Basically, I want to change some default settings (like background color) in the GUI version of vim (gvim). However, when I make changes to my .vimrc file, my gvim does not react to the changes.
I already have
if has("gui_number")
set number
colorscheme desert
endif
in my .vimrc file, and from what I've read that should make changes in my GVIM, but it doesn't.
I even tried to type some random stuff in the .vimrc file to see if GVIM would display an error, which it did not.
So i think the problem may be my gvim isn't reading my .vimrc file at all. So this may be a pathing problem?
This below is my .vimrc file
source $VIMRUNTIME/vimrc_example.vim
jhgfjhgjhg (This here was to test for an error)
if has('gui_running')
set number
colorscheme desert
endif
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg1 = substitute(arg1, '!', '\!', 'g')
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg2 = substitute(arg2, '!', '\!', 'g')
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let arg3 = substitute(arg3, '!', '\!', 'g')
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction
Here is my .GVIMRC file
version 6.0
if &cp | set nocp | endif
let s:cpo_save=&cpo
set cpo&vim
map! <S-Insert> *
vmap "*d
map Q gq
vmap [% [%m'gv``
vmap ]% ]%m'gv``
vmap a% [%v]%
vmap gx <Plug>NetrwBrowseXVis
nmap gx <Plug>NetrwBrowseX
vnoremap <silent> <Plug>NetrwBrowseXVis :call netrw#BrowseXVis()
nnoremap <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())
vmap <C-Del> "*d
vmap <S-Del> "*d
vmap <C-Insert> "*y
vmap <S-Insert> "-d"*P
nmap <S-Insert> "*P
inoremap u
let &cpo=s:cpo_save
unlet s:cpo_save
set backspace=indent,eol,start
set backup
set diffexpr=MyDiff()
set display=truncate
set guioptions=egmrLT
set helplang=En
set history=200
set hlsearch
set incsearch
set langnoremap
set nolangremap
set nrformats=bin,hex
set ruler
set runtimepath=~/vimfiles,C:\\Program\ Files\ (x86)\\Vim/vimfiles,C:\\Program\ Files\ (x86)\\Vim\\vim81,C:\\Program\ Files\ (x86)\\Vim\\vim81\\pack\\dist\\opt\\matchit,C:\\Program\ Files\ (x86)\\Vim/vimfiles/after,~/vimfiles/after
set scrolloff=5
set ttimeout
set ttimeoutlen=100
set undofile
set wildmenu
" vim: set ft=vim :
I would hope that my gvim would display lines and a different background, but nothing happens.
edit: should my _vimrc file look exactly like my gvimrc?
I figured it out guys.
So apparently I was supposed to create a _vimrc file in my home directory.
If you are on windows 7 and having the problem where you cant edit your _vimrc file in your VIM directory to change gvimrc, then its because you are trying to edit the wrong _vimrc!! You need to make a different user one in your home directory!
Windows 7:
Open vim, type in :e $HOME/_vimrc
And then put the new settings and save (then reopen GVIM)

Can't install vim-plug

Following the instructions, I put plug.vim in autoload folder and my vimrc looks like this now:
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
call plug#begin('~/.vim/plugged')
call plug#end()
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
So I added only
call plug#begin('~/.vim/plugged')
call plug#end()
On VIM start up I get
[vim-plug] `git` executable not found. vim-plug requires git.
Using windows 7, please help.
Reinstalled GIT using Run git from Windows command prompt option
https://github.com/VundleVim/Vundle.vim/wiki/Vundle-for-Windows
This sets appropriate PATH variable.
I ran into a similar error on Linux, and solved by just installing git.
sudo apt update
sudo apt install git

How to stop vim from automatically scrolling while typing in insert mode

I have an annoying problem with vim which I have googled to death to no avail. I would like vim to stop scrolling right when I am typing in insert mode. I do not have this problem when I enlarge the vim window, but I would like to keep the window small and compact for my own purposes.
Thanks in advance!
Edit:
As requested by merlin2011 here is the contents of my .vimrc file.
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
I had this issue as well and I think I managed to fix it, but it wasn't a vim issue. Could you try right clicking on your cmd prmpt window, go into properties and make sure this has been checked? When I checked that box vim stopped locking onto my cursor and scrolling sideways when I typed. Let me know if that works.

setting up vim fireplace, linking clojure code

I just installed VIM and a few plugins, one of which is vim fireplace. A problem I have is that fireplace can't find my clojure code. I put my clojure code under vimfiles/bundle (I'm running windows).
I followed these instructions:
http://kevinmccarthy.org/blog/2013/10/12/setting-up-vim-for-clojure/
When I run a sample clojure function in the command line (which I get to using cqc), I get the following error:
Error detected while processing function <SNR>20_inputeval... foreplay#echo_session_eval..foreplay#session_eval...<SNR>20_eval...6:
line 38
E605: Exception not caught: Error running clojure:Error:Could not find or load main class clojure.main^#
Error detected while processing function <SNR>20_inputeval:
line 4
E71:missing :endif
Here is my .vimrc:
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
syntax on
filetype plugin indent on
execute pathogen#infect()
set nobackup
set nowritebackup
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
fireplace is not able to set classpath which may be because you are not working with a lein project. But that is not a requirement, you can always connect to a running nrepl ( which can be launched via lein repl) and connect to it from vim using :Connect nrepl://localhost:port.

Resources