Dakujem autorovi za nove a zaujimave pluginy. Je to super serial clankov. Velmi mi pomohol sa zorientovat v neprebernom mnozstve pluginov pre VIM.
Mala rada odomna, ak pouzivate screen namiesto tmux(tak ako ja), tak pre okamzite vykonanie poslanych prikazov z VIM staci do .screenrc pridat/zmenit volby:
msgwait 0
msgminwait 0
Chtěl jsem vyzkoušet fakeclip (s xclip), ale nějak nefunguje. Vše je nainstalováno, nápověda funguje. klávesy jsou namapované (:nmap), xclip nainstalovaný, strom adresářů odpovídá tomu na obrázku, ale stále nevidím nový registr &. Není to nějak podmíněno chybějící podporou +clipboard, přičemž s ní to nefunguje ? V konzoli mám stejný výsledek.
tady:
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 29 2012 17:02:30)
Použité záplaty: 1-645
přeložil <volkerdi@slackware.com>
maximální verzewith GTK2 GUI. Vlastnosti zahrnuté (+) a nezahrnuté (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard
+cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape
+dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path
+find_in_path +float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap
+langmap +libcall +linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname +mouse
+mouseshape +mouse_dec +mouse_gpm -mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +mouse_urxvt
+mouse_sgr +multi_byte +multi_lang -mzscheme +netbeans_intg +path_extra +perl +persistent_undo +postscript
+printer +profile +python -python3 +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent -sniff
+startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo
+termresponse +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra
+viminfo +vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim +xsmp_interact
+xterm_clipboard -xterm_save
systémový vimrc soubor: "$VIM/vimrc"
uživatelský vimrc soubor: "$HOME/.vimrc"
uživatelský exrc soubor: "$HOME/.exrc"
systémový gvimrc soubor: "$VIM/gvimrc"
uživatelský gvimrc soubor: "$HOME/.gvimrc"
systémový soubor s menu: "$VIMRUNTIME/menu.vim"
implicitní hodnota $VIM:"/usr/share/vim"
Překlad: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/local/include -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linkuji: gcc -Wl,-E -Wl,-rpath,/usr/lib/perl5/CORE -L/usr/lib -L/usr/local/lib -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -lncurses -lelf -lnsl -lacl -lattr -lgpm -ldl -Wl,-E -Wl,-rpath,/usr/lib/perl5/CORE -fstack-protector -L/usr/local/lib -L/usr/lib/perl5/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic
tohle je gvim, vim má pak -clipboard
Mladej hawran tě to vysvětlí,,, pokud už tě nebude bavit změnit první slovo a následně se přesouvat a mačkat tečku, jak se to ve Vimu dělá odjakživa, pak použiješ tuhle novinku, kdy se nejdřív přesuneš na všechna ta místa, označíš je a pak provedeš změnu a ono se to naráz udělá samo všude; je to mnohem efetnější než předchozí starej způsob. Ne, já vážně nevím, a taky jsem nad tím dumal, možná to jednou vyzkouším.
Podle me to umi to same, ale v pripade multicursoru se zmeny provadi zaraz "vizualne". Ono si to chce vyzkouset, taky jsem si rikal "proboha naco?", ale ma to neco do sebe.
Jinak - ja osobne mam pluginy docela ocesany, v podstate muzu pracovat s cistym Vimem (ale se svym .vimrc :-)
Ale figu nic. Ma to vyborne vyuzitie napriklad v pripadoch kedy mas pod sebou niekolko retazcov, ktore sa podobaju na 95% a potrebujes zmenit cast z tych 5%. Find & replace ti v takom pripade vobec nepomoze.
A take pripady sa stavaju celkom casto pri upravach kodu. Ked si na multicursor potom clovek zvykne, tak uz ho pouziva aj namiesto find & replace, pretoze je to pohodlnejsie a prehladnejsie, nakolko okamzite vidi oznacene oblasti.
Takže počítejte se mnou! Nejprve varianta bez té divné věci:
1. udělám změnu v prvním řetězci (například připíšu nějaký prefix před název pole a chci to samé udělat ještě i pro pět dalších polí)
2, 5x se přesunu na první znak těch polí a 5x stisknu tečku
A nyní varianta s multikulti-pluginem:
1. 5x se přesunu na první znak těch polí a 5x stisknu klávesu pro označení (tj. stejná náročnost jako v předchozím případě bod 2 ;)
2. U posledního označeného začnu psát prefix (tj. náročnost stejná jako 1 v předchozím případě)
Se nám pak nedivte, že nevidíme všechny ty přednosti nového způsobu. Ale bych vás nezarmoutil, přecejen malou výhýhodu vidím. A to v tom případě, kdy je potřeba provést změn celou řadu. Naše oblíbená tečka totiž dokáže zopakovat pouze poslední změnu (nebo vložit poslední blok textu), v případě více změn se ale použít nedá a musíme pouižít záznam případně yank, což už jsou nějaké tři stisknuté klávesy navíc. Jenže, že bych zrovna tohle běžně potřeboval, to říct nemůžu. Zkuste mne opravit, jestli jsem něco nenapsal správně, ten multikulti-plugin totiž nepoužívám.
To takto nefunguje. Neviem ci tu vo vim, ale v Sublime Text to takto nefunguje.
Mimo toho akosi, neviem preco, predpokladas, ze tie retazce mas pekne priamo pod sebou. V realnych pripadoch to takto byva len malokedy, takze tych stlaceni klavies bude daleko viac, kedze sa nepohybujes len po riadkoch, ale aj po stlpcoch.
Mas situaciu kedy mas napriklad tri riadky, v ktorych je 5x retazec, ktory potebujes zmenit. Ale takychto trojic riadkov mas napr 4, pricom v kazdej trojici je ten retazec trochu iny - cize find & replace nepripada do uvahy.
Takze oznacis si prvy retazec, stlacis 5x kombinaciu pre multicursor, budes mat tak oznacenych vsetkych 5 retazcov. Urobis zmenu a sipkami sa presunies na dalsiu trojicu riadkov. Multicursor ti ostava oznaceny a je viacmenej na rovnakych miestach v tych 5 retazcoch. Teraz len raz stlacis klavesu pre multicursor a voala uz mas oznacenych tych 5 retazcov a mozes zase pisat zmenu.
A tak dalej.
Ale hlavne nerozumiem preco je potebne obhajovat featuru, ktora ZIADNYM SPOSOSBOM nenarusa vase pracovne navyky. Nechces ju pouzivat? Ignoruj ju. Ona ta ignoruje tiez. A vsetko je v poriadku.
Hezký, já ten plugin nikdy neměl nainstalovanej (což jsem psal), tys ten plugin nikdy neměl nainstalovanej, ale hlavně že jsme se už nějak dohodli ;). Teď alespoň vím, jak to funguje v Sublime. Vylézá mi z toho v případě Vimu jedna substituce, jak už tu hawran zmínil, s jednoduchým reg .výrazem a omezením rozsahu pro příslušné řádky.
Tak už chápu, proč stále píšeš o 'find' a 'replace'. My Vimkaři jsme ale z trochu jiné planety, takže takovéhle výrazy vůbec nepoužíváme.
Ten poslední odstavec mi pobavil. Hlavně po tom, co mi plugin fakeclip přemapoval/namapoval asi padesát příkazů, ale stále odmítá fungovat. Jdu ho máznout. Mám rád v namapovaných výrazech pořádek. Ale máš pravdu, že někdo používá moře pluginů, ač třeba některé použije jen jednou za uherák.
Nevim. Nefungoval ani v konzoli. prostě "& vůbec nečekalo na další klávesu p nebo y. Registr & jsem taky žádnej neviděl, pokud se tedy nemá jednat jen o jakýsi fake-register. Chtěl jsem to vyzkoušet, ale jinak mi to moc netrápí: používám své řešení s xsel a krátkej Vimskript s operátorem. Jen jsem chtěl vědět, jestli to maj stejně vymakané jak to mam já :)).
Aha, to bys mel normalne videt po prikazu :reg
Jestli ten registr nevidis, tak je neco spatne. Me to funguje ale jeste si to musim postelovat, protoze to ma nektere nepekne vlastnosti - me by vyhovovalo, kdyby se automaticky syncovaly registry &, * i + (tj. jak selection tak i clipboard). Taky me to nechodi s vnc, ale tam je problem asi v tigervnc balicku - nejede to ani mimo Vim.
Jak to mas s xsel? To by me docela zajimalo.
Já to mám trochu víc modulární, protože potřebuju kopírovat také do/z příkazové řádky konzole. Takže mám svůj skriptík copycon.sh, ve kterém pracuju s xsel a nebo jen se souborem, pokud je X shozenej a já chci kopírovat mezi konzolema navzájem. A tenhle skript pak volám ve skriptu Vimu. Namapované mám klávesy <leader>y{+movement}, <leader>y (visual mode), <leader>yy, <leader>dd, <leader>p, <leader>:p, <leade>/p O přenosu na vzdálený stroj jsem taky už přemejšlel, ale nějak to nepotřebuju, takže je to zatím bez toho; ale asi by nebyl problém posílat soubor bufferu po síti. Nastavení selection a clipboard se nechá nastavit parametrem xsel. Já jsem zakotvil pouze na clipboardu (CTRL+Insl / SHIT+Ins), protože s označování to bylo až příliš dynamické a já už po chvíli nevěděl co tam vlastně mam. Pokud bys o to jo stál, pak mi dej tip kam dva (nebo jenden zabalenej) soubory na netu přilepit. Nějak teď nemám tucha.
Jo, hraj sa na mudreho. Ale to uz nic nezmeni na tom, ze multicursor existuje, implementuje sa aj do inych editorov, ludia ho pouzivaju a existuju realne situacie, kedy je jeho pouzitie vyhodou.
Hlavne, ze mas proti comu bojovat. Len nechapem preco bojujes proti niecomu co na tvoj zivot nema ziaden vplyv a o com by si ani nevedel, ak by si si neprecital tento clanok. :)
kuk na http://www.sublimetext.com/ - je tam pekna animacia ako sa pomocou multiple cursors interaktivne edituju rozne netrivialne veci.
tento search/replace je len jednou z nich (a nie uplne nejefektnejsou).
Vazeni pratele textoveho pseudoeditoru *vi*. Dovoluji si vam sdelit, ze je rok 2015 a te vas archaicky paskvil se ma dnes pouzivat uz jen z ciste akademickych duvodu na psani prace "Jak se nema delat textovy editor".
A nez se na mne pustite s blaboly typu:
1. tak mi rekni jak mam v jinym editoru udelat tohle-s-timhle-takhle
2. ty trole! zadnej editor tohle-s-timhle-takhle neumi a jeste kdyz si pridam plugin drbu-se-kolem-hlavy a mam-poruchu-osobnosti.alpha.0.0.0-pre-rel0.1 tak jsem kral
tak vam musim sdelit ze kdyz tohle potrebujete tak je ve vasem zivote a praci neco hodne spatne. Spomalte. Zamyslete se. A kouknete se na krasne nove editory. Jo a poridte si mys.
Tak vam preju osviceni a s pozdravem esc:x