1) Вот в доках сказано
<C-LEFTARROW><C-RIGHTARROW> : jump one word backwards/forwards
но при нажатии на Ctrl со стрелками курсор по словам не скачет а вставляются a,b,c,d и перенос строки; в .vimrc есть строка "set nocompatible" , что не так
2) Вот хотел перебиндить большинство клавиш, но столкнулся с "небольшой" проблемкой
делаю так:
map <C-v> a - после этого по Ctrl-v соответственно происходит переход в режим ввода
теперь чтобы повесить на "а" например прыжок по словам делаю так:
map a w - после этоно при нажатии на "а" курсор перескакивает не следующее слово, но и по Ctrl-v теперь происходит тоже самое
как тогда можно действительно перебиндить горячие клавиши?
может на все эти "dd yy pp a i ..." горячие клавиши есть полные комманды,
которые позволят полностью перемапить все "с нуля" ?
например чтоб перенести режим вставки с "а" на Ctrl-a вместо:
map <C-a> a
можно написать:
map <C-a> :startinsert<Enter>
Или они зашиты в сырцах и мапить можно только на них или их сочетания?
3) чтоб реализовать автодополнение например для функций gtk делаю так:
Код: Выделить всё
ctags -R -f ~/.vim/systags /usr/include/gtk-2.0/gtk/
:set tags+=~/.vim/systags
но в файле ~/.vim/systags нет ни одной функции из инклудов например
GtkWidget* gtk_button_new (void); - для этой строки ничего нет в systags
а для этой строки
Код: Выделить всё
#define GTK_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BUTTON, GtkButtonClass))
в systags создается строка
[cdoe]GTK_BUTTON_CLASS /usr/include/gtk-2.0/gtk/gtkbutton.h 41;" d[code]
и соответственно GTK_BUT дополняеися до GTK_BUTTON_CLASS
что делаю не так?
4) когда набираю :make то при наличии ошибок открывается дополнительное окно в котором содержится список ошибок, наведя курсор на ошибку и нажав Enter сверху открываеся окно с местом ошибки и курсор сразу перескакивает в это окно, можно сделать чтоб курсор оставался в окне списка ошибок?
Спасибо.
P.S. мой конфиг
Код:
set nocompatible
set backspace=indent,eol,start
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
map Q gq
filetype plugin indent on
autocmd FileType text setlocal textwidth=78
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
" Tab autocompletion
function InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
else
return "\<c-p>"
endif
endfunction
imap <tab> <c-r>=InsertTabWrapper()<cr>
set complete=""
set complete+=.
set complete+=k
set complete+=b
set complete+=t
set completeopt-=preview
set completeopt+=longest
" Tag list settings
let g:Tlist_Show_One_File = 1
let g:Tlist_GainFocus_On_ToggleOpen = 1
set wildmenu
set wcm=<Tab>
menu Encoding.koi8-r :set enc=koi8-r<CR> :e ++enc=koi8-r ++ff=unix<CR>
menu Encoding.windows-1251 :set enc=cp1251<CR> :e ++enc=cp1251 ++ff=dos<CR>
menu Encoding.cp866 :set enc=8bit-cp866<CR> :e ++enc=cp866 ++ff=dos<CR>
menu Encoding.utf-8 :set enc=utf8<CR> :e ++enc=utf8 <CR>
menu Encoding.koi8-u :set enc=koi8-u<CR> :e ++enc=koi8-u ++ff=unix<CR>
map <F8> :emenu Encoding.<TAB>
" For 'view' mode
if &readonly == 1
set nonumber
set nofoldenable
set foldcolumn=10
nmap <F10> :qa<cr>
nmap <Space> <PageDown>
endif
set shiftwidth=2
set nobackup
set ignorecase smartcase
set pastetoggle=<F5>
set tags+=~/.vim/tags
set vb t_vb=".
set langmap=ц:,Кq,Гw,Хe,Лr,Еt,Оy,Зu,Ыi,Эo,Ъp,И[,Я],Жa,Щs,Чd,Бf,Рg,Тh,Пj,Мk,Дl,Ь',Сz,Юx,Уc,Нv,Йb,Фn,Шm,В\,,А.,Ј`
set linebreak
set langmenu=ru_ru
set helplang=ru,en
"set noswapfile
"set background=dark
"===========================================
:highlight Comment ctermfg=DarkGreen guifg=DarkGreen
command Wsudo set buftype=nowrite | silent execute ':%w !sudo tee %' | set buftype= | e! %
map <F2> :w<CR>
imap <F2> <Esc>:w<CR>a
map <F3> :nohlsearch<CR>
map <F5> :make<CR>
map <F6> :cope<CR>
map <F7> :cp<CR>
map <F8> :cn<CR>
map <F11> :set wrap!<CR>
map <F12> :set number!<CR>
map kk :w! /tmp/vim<CR>
map ll :r /tmp/vim<CR>
map [ :previous<CR>
map ] :next<CR>
map a i
map {<CR> {<CR>}<Esc>O
"==================================================
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
function! s:mueller(word)
if a:word != ""
"let rs = system("grep -i -P ^" . a:word . " ~/dict/mueller-dict")
let rs = system("grep -i -P ^" . a:word . "= /usr/local/share/enrus.dic")
if rs == ""
echo "not found"
else
echo rs
endif
else
echo "not word"
endif
endfunction
map ,t :call <SID>mueller(expand("<cword>"))<CR>
" Intelligent Home moves to the first non-blank character on the line, then to
" the very first character on the line
nmap <Home> :call HomeButton()<CR>
imap <Home> <C-O>:call HomeButton()<CR>
" In Normal mode intelligent End moves after the last character on the line if
" the line is not empty
nmap <End> :call EndButton()<CR>
function HomeButton()
if col(".") != 1
let current_cursor_column = col(".")
execute("normal ^")
if col(".") == current_cursor_column
execute("normal 0")
endif
endif
endfunction
function EndButton()
execute("normal $")
if col("$") != 1
execute("normal l")
endif
endfunction