Как стать автором
Обновить

Комментарии 30

Если, честно то довольно стандартный конфиг. Ничего не вынес для себя нового. Расскажите про автокомлит для JS, интересно.
Когда сделаю, если все получится — напишу :) У меня просто уже был один подход — немного неудачный :(
Использую практически всё то же самое. Пара исключений:
  • NERDCommenter от создателя NERDTree и Syntastic вместо Tcomment_vim;
  • YouCompleteMe для автодополнения. Для C/C++ ему равных нет, я считаю. К тому же здорово интегрируется с Synastic.

Идея с курсором понравилась, утащу себе.
Мой конфиг здесь: github.com/JIghtuse/dotvim

Ну и ещё пара традиционных ссылок.
Крутейшая книга по Vim: pragprog.com/book/dnvim/practical-vim
Видео от создателя книги Drew Neil, тоже много полезного: vimcasts.org/
Конфиг, конечно, дело сугубо личное и порой даже интимное, но посмотрите в сторону github.com/spf13/spf13-vim и github.com/bling/dotvim.

Лично мне больше нравится вариант от bling. Форкнул его и теперь подстраиваю под себя.
Я в них загляну и утащу что понаривтся себе. у bling придется посидеть и поизучать что он делает. Я нелюблю когда есть части которые просто зачем то :)
Отдельное спасибо за тему для iTerm.
Вижу вы используете minibufexplorer, поставьте vim-airline, и включите опции:

" If you want to auto-completion to work stable in older vim, disable this option
let g:airline#extensions#tabline#enabled = 1

" Airline tabs settings
let g:airline#extensions#tabline#fnamemod = ':t'


так намного удобнее и красивее, получится так: habrastorage.org/storage3/376/ae8/838/376ae8838a324ca5d5ff70ffb2d52fc1.png

P.S. мой конфиг, если интересно: github.com/aliev/vim
Спасибо, плагин крутой, кажется буду пользовать :) в конфиг тоже загляну как будет время, спасибо.
Попробуйте еще вот это

Bundle 'marijnh/tern_for_vim'


Работает полный автокомплит для JavaScript-а, и GoTo definition, рефакторинг и много много других вкусняшек :) Ссылка на проект: github.com/marijnh/tern_for_vim
На него сейчас смотрю да, спасибо :)
НЛО прилетело и опубликовало эту надпись здесь
Я в качестве термирнальной системы пользую мак, так что нет возможности нормально проверить эти изменения, я подумаю как можно вмержить аккуратно. Вынесу в issue :)
Да это ж почти мой конфиг!
Для JS поставил vim-javascript от pangloss, пока вполне хватает.
Спасибо, посмотрю на него!
Курсор в insert mode меняет свою форму с кирпичика, на пайп

Есть плагин отдельно.
Мой конфиг
Из полезного неупомянутого:

" Show a vertical line on a 80th character
set textwidth=80
set colorcolumn=+1
highlight ColorColumn ctermbg=DarkGrey

" Mark tabs and trailing spaces
set list listchars=nbsp:·,tab:→\ ,trail:·,extends:>,precedes:<

" Scroll the window so we can always see 10 lines around the cursor
set scrolloff=10


Для себя утащу «Disable highlighting search result on Enter key». Никак не доходили руки загуглить, спасибо :)

Вот эти два пункта в конфиге есть. :)
" Mark tabs and trailing spaces
" Scroll the window so we can always see 10 lines around the cursor
Только чуть с другими занчениями

Про vertical line наверное утащу себе, завел иссью чтобы не забыть, спасибо :)
Тоже Mac пользую. Поделитесь с какими опциями Vim компилировали, если помните конечно. И, интересно, из каких соображений запускаете в терминале, а не GUI? И, если GUI, чем бы лучше проэмулировать терминал в окне Vim не подскажете?
Привет! если честно я почти уверен что он был у меня с самого начала ( может быть после устнаовки command line tools (есть на developer.apple.com)
В терминале его запускаю, потому что много работы происходит на удаленных машинах по ssh(там соответсвенно тоже vim) и в консоли, и так просто удобнее не переключать контекст, открываю пару сплитов в iTerm и вперед :)
Чем проэмулировать к сожалению незнаю :( А какие плюсы у GUI вима? я никогда не пользовался просто.
Привет. Я имею два экземпляра: один терминальный, скомпилированный примерно так ./configure --with-features=huge --with-mac-arch=intel --disable-darwin --disable-gui --without-x --WITHOUT\_X11=yes --disable-nls --disable-gpm --disable-netbeans --disable-arabic --disable-farsi --disable-cscope --disable-emacs\_tags --disable-keymap --disable-langmap --enable-feature=browse --with-tlib=ncurses --enable-multibyte --prefix=\#prefix --mandir=\#man и второй GUI просто взятый отсюда github.com/b4winckler/macvim. Если уж честно, пользуюсь редко. Просто не мой стакан чая. Повседневно, для SSH nano sshfs, а так sublimetext и p9p acme. acme любимый. macvim не то чтобы лучше консольного, а как darwin vs linux человечней. Спасибо за статью. Популяризацию Vim считаю благородной миссией. К Брему Мулленару отношусь с глубоким почтением.
Спасибо, даже не за конкретный конфиг, а за инициацию масс обмена конфигами :)
Мой конфиг тут, хотя там всё более менее стандартно.
да, Vim редактор удивительный. сколько бы ты его на настраивал под себя, все равно найдешь что нибудь вкусное в чужих конфигурациях!!! :)
даа, полностью согласен :)
Я загляну как будет время, что понравится в чужих конфигах с этой страницы утащу себе, и потом может напишу о результатах :)
Спасибо за smartcase. Уж столько пользуюсь, а почему-то не знал. Теперь не нужен :se noic. :)

P.S. Все же знают, что инструкции можно сокращать? :se ic = :set ignorecase, :se nonu = :set nonumber, :setf html = :set filetype=html, и т.д.

P.P.S.
> Отдельный хоткей для включения/выключения past mode — \p
Сперва удивился новому режиму, а потом только дошло, что это paste, а не past
спасибо, поправил :)
P.S. Все же знают, что инструкции можно сокращать? :se ic = :set ignorecase, :se nonu = :set nonumber, :setf html = :set filetype=html, и т.д.
Знают. Но я крайне не рекомендую сохранять такие сокращения где‐либо, кроме истории команд. Много времени это не сэкономит, но вернитесь к своим настройкам через месяц и попробуйте вспомнить, что такое ́set nojs. Некоторые часто употребимые сокращения вроде ft, syn или exe сложно забыть, но тут вступают соображения единообразности: я не сокращаю nnoremap до nn, потому что такие сокращения сложно запомнить, а function до fun, потому что я не сокращаю nnoremap.

Также я не рекомендую писать их другим людям, потому что вы не знаете, какие сокращения другие люди знают. Запись set noignorecase намекает о сути настройки даже непосвящённым, запись set noic намекает только о том, что на VimL достаточно всего двух символов (token’ов — объектов различимых для парсера, в данном случае, парсера в мозгу человека), чтобы написать нечитаемый код.
Ну если бы речь шла про конфиг, то вместо noignorecase мне было бы достаточно не добавлять ignorecase ;)
Я написал про некое «противопоставление» моим дефолтным настройкам из конфига в случае, когда мне требуется иное поведение редактора при поиске чего-либо, а разово вводить мне удобнее команды в сокращённом виде. Остальные сокращения упомянуты только для примера и применимы в основном на «ненастроенной/чужой машине». На filetype у меня хоткей+wildmenu, на number/nonumber у меня хоткей, а ignorecase всегда включен.


я крайне не рекомендую

У каждого свой подход. Кто-то пишет сокращения в конфиге и снабжает их кучей комментариев, кто-то просто не использует сокращений, кто-то пишет кучу комментариев в конфиге без сокращений, а у кого-то в конфиге каша из сокращений без комментов и полных команд с комментариями :)
Если конфиг не планируется для паблика, то рекомендации будут бесполезны — кому-то nn запомнить окажется проще, чем nnoremap, а кому-то просто пофиг чего у него там в конфиге :)
Я тоже использую сокращённые формы при наборе в командной строке. Только если бы мне требовалось часто менять настройку ignorecase, то я использовал бы привязку и там была бы полная версия. Но когда нужно мне обычно легче использовать \c/\C (в основном потому, что я представляю, сколько авторов дополнений забывают учитывать ignorecase, но не хочу проверять, чем мне это грозит в тех дополнениях, которые я использую).

Относительно ignorecase: эта настройка влияет на matchstr()/match()/matchlist()/matchend(), substitute(), search()/searchpair()/searchpairpos()/searchpos(), :substitute/:smagic/:snomagic, операторы сравнения для строк (=~/!~, ==/!=, is/isnot (если оба операнда — строки), </>/<=/>= (аналогично)), /, ?, :/, :?, *, #. Множество авторов пишут неправильные операторы сравнения (правильные — это те же самые, но с добавлением # или? на конце), зависимость функций от значения ignorecase же игнорируется почти всеми. Даже я не уверен, что у меня во всех дополнениях все функции работают правильно.

Спасает только то, что чаще всего входные данные таковы, что значение ignorecase не влияет на выходные. Однако мне не нравится полагаться на это соображение.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории