{"id":680,"date":"2013-03-14T09:00:00","date_gmt":"2013-03-14T09:00:00","guid":{"rendered":"https:\/\/lasg.dk\/wp\/?p=680"},"modified":"2025-12-23T14:54:40","modified_gmt":"2025-12-23T14:54:40","slug":"tips-til-vim-editoren","status":"publish","type":"post","link":"https:\/\/lasg.dk\/wp\/tips-til-vim-editoren\/","title":{"rendered":"Tips til vim editoren"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sm\u00e5 vilk\u00e5rlige noter om tips til vim editoren <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2013-03-14, Lars Sommer <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nedenst\u00e5ende er prim\u00e6rt noter til mig selv.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>J joiner linjer (fjerner newlines)\n\n------\n\nEx commands:\n\n:left, :center og :right aligner tekst\n\t\t\t\t    :center\n\t\t\t\t\t\t\t\t\t  :right\n\"x&lt;cmd> gemmer en cmd i register x, som kaldes igen med f.eks. \"xp\nEks.:\n\"kdd p\u00e5 en linje med \"hest\", og s\u00e5 \"kp inds\u00e6tter \"hest\", uanset hvad der er i den normale yank-buffer\n\nranges: 1,$,%,\n. er actual line\n\n:global\/&lt;regexp>,&lt;cmd>\nf.eks.; :%,g\/hest\/#   udskriver alle linjer der indeholder hest\n:%,g\/test\/d\tsletter alle linjer med test\n\nconfirm:\nmed c f\u00e5es confirm-valg for hver enkelt;\nf.eks. i s\/hest\/test\/gc \n\n------\n\nBuffers, windows, tabs:\n\n:args, :argadd, :argdelete\n:ls lister de buffere der er \u00e5bne\n:n, :N frem og tilbage i arg-listen\n:file kan bruges til at omd\u00f8be filen undervejs\n\n:new \u00e5bner nyt vindue\n:split \u00e5bner samme fil igen, i nyt vindue\n&lt;C-W> skifter\n:vertical new, :vert resize +10 og lign. g\u00f8r det vertikalt\n\n------\n\nAutocommands:\n\n:e . \u00e5bner en file explorer i den aktuelle mappe\n\nvi sftp:\/\/lasg@62.242.48.167\/hest\nvi scp:\/\/lasg@62.242.48.167\/hest\nediterer over nettet\n\n------\n\nRegular Expressions:\n^ $ . * &#91;a-z]&#91;A-Z]&#91;0-9] \\{m,n} \\(...\\) \\|\n&#91;&#91;:alnum:]] posix style\nclasses: \\a \\d \\s (alfanumerisk, digits, whitespace)\n\\n newline, \\_s whitespace+newline\nLookaround: \n\/\\(t\\)\\(est\\)\\@!\tfind t, der IKKE er efterfulgt af est\nGrupperinger med () kan kaldes igen, med \\1, \\2 osv.. f.eks:\n\/\\(t\\|e\\)\\1 \ts\u00f8ger p\u00e5 (t|e)(t|e)\n\\ze fjerner det der f\u00f8lger efter, i matchen. F.eks:\n\/te\\zest matcher test, men markerer kun te\n\n------\n\nFolding:\n\n:set foldenable\n:set foldmethod\t\tf.eks. =marker\n:set foldmarker={{{,}}}\n\nzo zR\t\tfolder ud\nzc zm zM\tfolder sammen\nzf\t\tlaver en fold\n\n{{{\n\ttest\n{{{\n\t\thest\n}}}\n}}}\n\n\n------\n\nAutomatic Editing:\n\nI stedet for disse, som kr\u00e6ver F8, shift-F8 (se min .vimrc)\nnmap &lt;F8> :set ...\nnmap &lt;S-F8> :set ...\nS\u00e5 denne, der remapper key'en:\nnnoremap \\K1 sadf: map K \\K2&lt;CR>\nnnoremap \\K2 sadf: map K \\K1&lt;CR>\nnmap K \\K1\n\n------\n\nMake, grep:\n\n:make \nforst\u00e5r ogs\u00e5 f.eks. latex-filer, med \n:make %\n\n:grep hest %\n\n------\n\nSet options:\n\n:set &lt;option>\nTjek hvad option er sat til:\n:set &lt;option>?\n\n------\n\nVimdiff:\n\nF.eks:\nls -l t* > tmp1\nls -l t* > tmp2\nvimdiff tmp1 tmp2\n\nHerefter kan do og dp bruges til at inds\u00e6tte forskellen i hhv venstre og h\u00f8jre side. \n\nSynkroniser med :diffupdate\n\n------\n\nAndet fedt:\n:sort \tsorterer\n:%sort \/\\%(.\\{-}\/\\)\\{2}\/\n\nte&lt;C-p> foresl\u00e5r ord der starter med te, bladr med &lt;C-p> og &lt;C-n>\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tilf\u00f8jelse d.28. juli 2006, fra foredrag om VIM holdt af Preben Guldberg:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/foo\\( bar\\)\\@=\nS\u00f8g efter \"foo\", der er efterfulgt af \" bar\"\n\nFolding\nmacro-stuff\nfoldede stykker, kan flyttes rundt samlet\n:syn on\/off\n{{{\n}}}\n\n:foldenable on\/off\n\nkan f.eks s\u00e6ttes med indent, markers eller pr syntax\n\nzo og zR expanderer foldede\nzc, zm og zM lukker foldede\n\nfdc for at vise folds\nset fdc=n, hvor n er hvor mange chars der m\u00e5 bruges til at vise foldsne\n\n\nS\u00e6t spelling til p\u00e5 mail-filer, men ikke andre filer:\n:au FileTyoe * set nospell\n:au FileTyoe mail set spell<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Sm\u00e5 vilk\u00e5rlige noter om tips til vim editoren 2013-03-14, Lars Sommer Nedenst\u00e5ende er prim\u00e6rt noter til mig selv. Tilf\u00f8jelse d.28. juli 2006, fra foredrag om VIM holdt af Preben Guldberg:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[24,44],"class_list":["post-680","post","type-post","status-publish","format-standard","hentry","category-computer","tag-computer","tag-unix"],"acf":[],"_links":{"self":[{"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/posts\/680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/comments?post=680"}],"version-history":[{"count":1,"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/posts\/680\/revisions"}],"predecessor-version":[{"id":681,"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/posts\/680\/revisions\/681"}],"wp:attachment":[{"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/media?parent=680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/categories?post=680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lasg.dk\/wp\/wp-json\/wp\/v2\/tags?post=680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}