LINUX.ORG.RU

никаких, только здоровенный конфиг :) хотя до IDE типа msvs ему далеко, но для мелких проектов вроде deadbeef хватает.

waker ★★★★★
()
ndtimofeev@slackbook:~/Проекты/FileDeduplicator/filededup2$ ls -1 ~/.vim/bundle/
clang_complete/
conque_2.3/
delimitMate/
ghcmod-vim/
neco-ghc/
snippetsEmu/
snippetsEmu-snippets@
syntastic/
vim-commentary/
vim-fugitive/
vim-git/
vim-haskellConceal/
vim-surround/
vimproc/

С буферами как-то жопа. Не приучился я их использовать.

KblCb ★★★★★
()
Ответ на: комментарий от waker

никаких, только здоровенный конфиг :)

Если не сложно — выложите его на какой-нибудь http://pastebin.com/. У вас наверно биндинги козырные там.

С буферами как-то жопа. Не приучился я их использовать.

А как тогда? Я вот привычные табы после n++ пытаюсь заменить чем-нибудь. Пока сижу в Geany в основном и потихоньку собираю из Вима sailor warrior.

ksevelyar
() автор топика
Ответ на: комментарий от ksevelyar

А для чего нужны табы, буферы и иже с ними? У меня в vim'е как правило открыто два буфера разделённых по вертикали соответствующим сплитом. В одном я что-то пишу, в другом что-то смотрю (ну… примерно так). Нужен другой файл, закрываю этот и открываю другой. Время открытия файла пренебрежимо мало.

KblCb ★★★★★
()
Ответ на: комментарий от KblCb

Например для Rails, много разных файлов с которыми я работаю одновременно. Или та же доводка xmonad/conky/dzen.

ksevelyar
() автор топика

ksevelyar

Особенно интересуют буферы.

ИМХО буферы были нужны тогда, когда не было окон и табов. Сейчас они есть. Буфера ИМХО нужны иногда только для вспомогательных целей в скриптах. Хотя я скрипты для вима не пишу особо - лень, в сети их полно.

По теме - ИМХО вопрос некорректный: какие тебе нужны плагины, те и качай. Или vim твоя первая IDE?

drBatty ★★
()
Ответ на: комментарий от ksevelyar

ksevelyar

Можно считать что первая.

я сейчас у себя посмотрел - у меня и плагинов-то особых нет, в конфигах что-то такое страшное, найденное непонятно где. В принципе для IDE и плагинов-то особых не нужно, есть какой-то мутный скрипт, который собирает Makefile, и ещё умеет показывать окно с ошибками, и по этим ошибкам прыгать. Но я так думаю, что можно нагуглить и получше что-нибудь. Для остального вроде и встроенных средств хватает. Ну уж на первое время - точно. Лично мне нравится возможность выхода по F10, сохранение по F2, и прочие такие мелочи. Но это всё в .vimrc делается. Я как делал: пробовал фичу, и если мне она нравится, настраивал хоткеи к ней, а надобность в плагинах сейчас отпала ИМХО, всё встроено. Только комбинации клавиш порой зубодробительные.

drBatty ★★
()
Ответ на: комментарий от ksevelyar

и да, юзаю vim с тех пор, как появилось KDE4. KDE4-то появилось, а вот kDevelop4 можно сказать что и не появился - точнее сам он был, но там 90% нужных мне фич не работало. В итоге решил освоить vim, и не жалею. Было это года 2..3 назад.

drBatty ★★
()

Никаких плагинов вообще. Всё, что надо, уже встроено по умолчанию.

schizoid ★★★
()
Ответ на: комментарий от ksevelyar

Если не сложно — выложите его на какой-нибудь http://pastebin.com/. У вас наверно биндинги козырные там.

тут мой старый конфиг. он с тех пор мало поменялся.

https://sites.google.com/site/wakeroid/my.vimrc

пользуюсь на достаточно примитивном уровне, никакого продвинутого буферизма, практически только сплиты, очень редко табы. пытался расти над собой, но становится неудобно.

waker ★★★★★
()

Tagbar для разгребания чужого кода. В общем-то вот и все.
Мне не хватает автокомплита только.

vazgen05 ★★★
()
Ответ на: комментарий от KblCb

Автокомплита чего?

C++ кода.
Я в курсе про omni и clang, но первый не может в шаблоны и тормозит, а второй просто сильно тормозит.

vazgen05 ★★★
()

Я использую vi(m) уже почти десяти лет. В свое время, ставил разные плагины, сейчас же пришел к тому, что использую почти стандартный вариант.

Подумай, так ли нужно делать из vim полноценную IDE?
Вот интересная статья - The Dark Side of Usability. (ссылка) Если кратко: провели ряд экспериментов, в которых двум группам людей предлагалось решить одну и ту же задачу, но с использованием дополнительных инструментов с подсказками и без них.
В результате, время решения задачи было одинаковым, но «подопытные» без доп. инструментов делали меньше ненужных движений и больше концентрировались на стратегии решении задачи.

Так ли нужно пихать в IDE или в VIM то, что уже есть в твоей операционной системе? Есть целая серия статьей: Unix as IDE (ссылка), где предлагается следующая база:

File and project management — ls, find, grep/ack, bash
Text editor and editing tools — vim, awk, sort, column
Build tools — make
Debugger — gdb, valgrind, ltrace, lsof, pmap
Version control — diff, patch, svn, git


Конечно, необязательно именно такой расклад. Я еще использую screen, fish, mercurial, tmux и всякие языкозависимые вещи, вроде maven и virtualenv.

Что касается всяких сплитов, то зачем они тебе, если ты и так в XMonad`е сидишь?

beka
()
Ответ на: комментарий от beka

Unix as IDE, где предлагается следующая база:
File and project management — ls, find, grep/ack, bash
Text editor and editing tools — vim, awk, sort, column

Для удобной навигации по коду большого проекта все это не подходит, т.к. ничего не знает про семантику языка программирования и работает с кодом как с обычным текстом.

двум группам людей предлагалось решить одну и ту же задачу

Надо было этим двум группам предложить найти и пофиксить баг в большом проекте, у которого почти нет документации по коду. А писать hello world задачи можно где угодно.

kamre ★★★
()
Ответ на: комментарий от beka

Сплиты нужны для копирования из одного буфера в другой. Как копировать текст из одного инстанса vim'а в другой?

KblCb ★★★★★
()
Ответ на: комментарий от KblCb

Сплиты к копипасту имеют весьма косвенное отношение.
К примеру,

[yy][:edit /path/to/file][p][:w][bp]
Где тут сплиты? ;)

Если же говорить о копировании в рамках двух и более инстансов vim`а, то тут тоже тысяча разных способов. Можно копировать в буффер иксов, если Vim собран с опцией +clipboard.

Самый простой способ скопировать код между друмя разными инстансамы vim`а:

vmap <C-c> :w! ~/.vbuf<CR>
nmap <C-c> :.w! ~/.vbuf<CR> 
nmap <C-v> :r ~/.vbuf<CR> 

копирование и вставка будет(Ctrl-c Ctrl-v) идти через временный файл. Еще раз повторюсь, что способов тысяча.

beka
()
Ответ на: комментарий от kamre

Для удобной навигации по коду большого проекта все это не подходит,

В Гугле, к примеру, много кто использует (vim+grep+find). Причем это добровольный выбор ;) Лично вам может и не подходит. (При этом надо отметить, что это ни коим образом негативно не характиризует вас).

Надо было этим двум группам предложить найти и пофиксить баг в большом проекте, у которого почти нет документации по коду

Документация - это вообще отдельный разговор. Иногда читаешь ее и думаешь - лучше бы вообще ее не было...

На самом деле, к вопросу VIM vs MSVS/Eclipse/унд зо вайтер... сказано не мало и немало холиваров было на эту тему. Нету желания устраивать еще один.

beka
()
Ответ на: комментарий от beka

Лично вам может и не подходит.

Мне нужен редактор, который умеет строить адекватную модель кода и инкрементально перестраивать ее по мере изменений в файлах. Если бы такая возможность была в Emacs/Vim/..., тогда я бы стал рассматривать аргумент за Unix as IDE как серьезный.

kamre ★★★
()
Ответ на: комментарий от KblCb

Второй сильно тормозит даже при использовании libclang?

Чудеса какие-то, сейчас вот поставил его снова для проверки — не тормозит и с либой и без. Раньше же не менее 5 секунд ждал окошка.

vazgen05 ★★★
()
Ответ на: комментарий от beka

Есть целая серия статьей: Unix as IDE

Просмотрел, автор какой-то нуб, даже про cscope не знал:

I didn’t actually know about cscope. It looks great. I’ll look into it and maybe add some references to the article. Thanks for the tip!

А этот cscope и одной десятой не умеет от того, что предлагают нормальные IDE. Сам рассказывает о том, как через find-grep искать, это несерьезно.

kamre ★★★
()
Ответ на: комментарий от kamre

Это палка о двух концах: на одном конце - рефакторинг и навигация по коду, на другом - мощный инструмент для работы с текстом.

Т.е. если говорить прямо, то да, навигация по коду в Vim`е отсутствует как класс. Некоторые этого не понимают, пытаются сделать из Vim`а IDE, тащат туда десяток плагинов, а потом кричат, что все тормозит-глючит-не-работает. Это в лучшем случае, а есть и такие, кто потом говорит, что из Vim`а можно сделать студию. Как выразился один из героев нашего времени: «Это... это - печально».

Но все вышесказанное не отменяет того факта, что vi(m) - прекрасный, полностью управляемый клавиатурой, программируемый инструмент, который позволяет комфортно писать и редактировать код, что я делаю чаще чем смотрю на тип того или иного метода.

Да, IDE позволяет все опечатки (и некоторое количество ошибок) показывать в реальном времени, но все эти подсказки уводят программиста в другой, затратный по времени, метод работы с архитектурой и кодом. Выигрывая тактически, проигрываешь стратегически. А чем и была речь в статьей на которую я ссылался (не про unix). Об этом же говорит, даже(!) Чарльз Петцольд в Does Visual Studio Rot The Mind?.

Что касается, «Unix as IDE», я не понимаю, почему вы не посмотрели на контекст, в котором я привел ссылку на эту статью. Во-первых, «Unix as IDE», а не «Unix is an IDE too», во вторых, я говорил «да не делай из Vim`а IDE» == не надо пихать в Vim кучу плагинов и делать из нее студию, что невозможно.

beka
()
Ответ на: комментарий от beka

Казалось бы причем тут исправление опечаток и навигация по коду, f так же воспоминания о зелености травы от дот нет евангелиста. Впрочем даже он понимает что кроме мат задачек на полчаса писать чтото в нотпаде бессмысленно.

zz ★★★★
()

основной стержень - thunar / mc / bash + vimserver + tabs + сессии

сами настройки занимают чуть больше 100 строк

все плуги (аж 4) пихнул в .vimrc, а именно:
- nerdcommenter
- buffer explorer (отлично работает с табами)
- nerdtree (почти не пользуюе пользуюсь)
- surround (вообще не пользуюсь)

а ещё полезно CTRL поставить на CAPS LOCK

q11q11 ★★★★★
()
Ответ на: комментарий от KblCb

Как копировать текст из одного инстанса vim'а в другой?

vimserver тебе в помощь

q11q11 ★★★★★
()
Ответ на: комментарий от q11q11

А есть какие-то настройки связанные с nerdcommenter'ом и buffer explorer'ом? А то заставить нормально работать nerdcommenter у меня так и не получилось. Уже не помню почему.

KblCb ★★★★★
()
Ответ на: комментарий от KblCb

а!

ещё один модуль - ToggleComment, вот его пользую больше всех,

а nerdcommenter использую дефолтный и только для «sexy comments», это типа таких

/*
 * comment
 */

вот конфиг без плугов

set nocp
syntax off
colorscheme default
set wildmenu
set mouse=a "- mouse scroll
set ignorecase
set smartcase
set hls
noh
set laststatus=2 "- always show status line
let mapleader=','
set foldmethod=marker

"- custom command line
set stl=%f\ %m\ %r\ line:%l/%L(%p%%)\ col:%c\ buf:%n\ (%b)(0x%B)

set showcmd "- show current command
set autochdir
set visualbell
set virtualedit=all "- move cursor enywhere
set number "- line numbering
set cursorline "- highlignt current line

"- tab=2 + replace_it_with_spaces
set tabstop=2
set expandtab
set shiftwidth=2

set guioptions-=T "-turn off toolbar in gui
"set guioptions-=M "-turn off menubar in gui
set showtabline=2 "- 0-never, 1-if at least 2 tabs, 2-always
set tabpagemax=30
set scrolloff=8 "-leave 4 lines above and beyond cursor while scrolling
set lazyredraw "-dont update screen while macro running

set backup
set backupdir=~/vim-backups//
set directory=~/vim-swaps//
autocmd BufWritePre * let &bex = '--' . strftime("%Y-%m-%d-%H%M%S")

"set guifont=Lucida_Console:h8 "-for windows
"set guifont=Liberation\ Mono\ 8 "-for linux
set guifont=Liberation\ Mono\ Bold\ 8

map <Tab> :tabnext<Enter>
map <S-Tab> :tabprev<Enter>

map o o<Esc>
map O O<Esc>

map S i <Right><Esc>
map s i<Enter><Esc>

map j gj
map k gk

map U <C-u>
map D <C-d>

map - $
map # %

imap <C-j> <Down>
imap <C-k> <Up>
imap <C-h> <Left>
imap <C-l> <Right>

map <S-c> :call CommentLineToEnd('//')<CR> "- ToggleComment

map <leader>l :BufExplorer<CR>

map <leader>t :NERDTreeToggle<CR>
let g:NERDTreeWinSize = 40

q11q11 ★★★★★
()
4 июля 2012 г.

Извиняюсь, что поднял эту не сегодняшнюю тему.

Но подскажите мне, пожалуйста, как vim заставить закрывать все фолды при открытии файла?

Чтобы zM каждый раз не делать.

blackst0ne ★★★★★
()

И ещё один вопрос. У меня есть вот такое:

imap [ []
Как мне заставить vim перемещать курсор внутрь скобок после их добавления в текст?

blackst0ne ★★★★★
()
21 февраля 2014 г.
Ответ на: комментарий от blackst0ne

delimitMate

Вот плагин для этого: https://github.com/Raimondi/delimitMate

Также у меня вот мапинг стоит: imap <C-K> <Plug>delimitMateS-Tab

в начале: (|)
ctrl-k: ()|

Для кого-то такой плагин может быть оверкилом.

andreigl
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.