トップページunix
984コメント289KB

Vim Part25 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2015/03/30(月) 20:04:42.55
Vim 6以降に関する話題、Part24です。
http://www.vim.org/

前スレ
Vim Part24
http://peace.2ch.net/test/read.cgi/unix/1413122189/

関連情報は>>2-6あたり
0265名無しさん@お腹いっぱい。2015/06/16(火) 01:38:20.61
ttoc.vimについてなんですが、
TLet g:ttoc_rx_txt = '^[#2字下げ].*[#「.*」は.見出し]$|^▼\+ .*$'
これ無視されてしまうんですが正規表現間違ってます?
TLet g:ttoc_rx_txt = '^[#2字下げ].*[#「.*」は.見出し]$'
TLet g:ttoc_rx_txt = '^▼\+ .*'
というように分ければ読んでくれるんですが一行に纏めないと上の方に書かれてる行しか読んでくれないもので。両立したいです
他のデフォルトで入ってる拡張子用のは|使って一行に纏められてるんですが……
0266名無しさん@お腹いっぱい。2015/06/16(火) 05:49:46.79
>>265
\|
0267名無しさん@お腹いっぱい。2015/06/16(火) 17:20:41.57
>>266
それです!出来ました!ありがとうございました!
すみません、よく見てませんでしたorz
0268名無しさん@お腹いっぱい。2015/06/16(火) 22:15:47.71
:e でファイル名のないウィンドウを編集する方法ってありますか?
普段:tabeを使ってるんですけどタブを使わないで:b 1みたいにして切り替える方法に慣れようと思いまして。
一時的なメモにするのでファイルに保存する必要もないです
0269名無しさん@お腹いっぱい。2015/06/16(火) 22:39:49.60
:enew
0270名無しさん@お腹いっぱい。2015/06/16(火) 22:46:05.55
>>268
:enew
0271名無しさん@お腹いっぱい。2015/06/17(水) 00:37:47.03
>>269-270
できましたありがとうございます
0272名無しさん@お腹いっぱい。2015/06/17(水) 10:45:14.62
slackって招待されないと見えないんだな
0273名無しさん@お腹いっぱい。2015/06/17(水) 19:32:23.91
vim、中に出すぞ!
0274名無しさん@お腹いっぱい。2015/06/17(水) 19:39:04.65
emacsならまだ
0275名無しさん@お腹いっぱい。2015/06/17(水) 20:56:00.91
右左にウィンドウを分割して、左側にカーソルがあるとします
:shや:!lsしたときに左側だけで実行して、右側のウィンドウは編集画面のままにすることはVimではできないんでしょうか?
0276名無しさん@お腹いっぱい。2015/06/17(水) 20:59:32.21
そういうのはscreenとかtmuxの範疇な気がする
0277名無しさん@お腹いっぱい。2015/06/17(水) 23:51:01.27
連番作成で覚えやすいコマンドありません?

例えば、PAGE061.jpgからPAGE252.jpgまであるファイルリストをPage_001.jpgからPage_191.jpgの連番にするってのをよくやりますが、
今は:vnewして:call setline(1,range(1,60))してゼロ埋めしてからggyG:q!してPAGE061.jpgの上にペーストしてからPAGE192.jpg以下を消してPAGEをPage_に置換してます
めんどいです。:callのとこいつも忘れます
0278名無しさん@お腹いっぱい。2015/06/18(木) 00:44:23.46
>>277
一気にやるなら
:%s/PAGE\(\d\+\)\.jpg/\=printf('Page_%03d.jpg', str2nr(submatch(1))-60)

連番作成だけならマクロ、関数、increment.vim みたいなプラグインのどれかかな
個人的には UNIX 版だし seq でやんのが一番ラクだと思う
:.!seq -f '\%03g' 1 191
0279名無しさん@お腹いっぱい。2015/06/18(木) 00:59:35.51
>>278
seqのは覚えやすそうですね。いただきます
マクロはともかくプラグインをわざわざ入れるのは抵抗がありますね
0280名無しさん@お腹いっぱい。2015/06/18(木) 01:01:08.02
プラグインならvim-rengbangとかかね
0281名無しさん@お腹いっぱい。2015/06/18(木) 20:23:19.67
更新があるとタブに+が表示されますけど
これを任意の文字か文字列で表示することってできますか?
0282名無しさん@お腹いっぱい。2015/06/18(木) 21:38:45.47
emmet-vimで、!を展開すると、
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

</body>
</html>
と、なるんですが、<meta charset="UTF-8" />のように、
metaタグのところを />で閉じるにはどうしたらいいですか?
0283名無しさん@お腹いっぱい。2015/06/19(金) 01:00:36.44
英語詳しくないけどドキュメントにempty_element_suffixを設定したらできるって書いてあったよ多分
ドキュメントをempty_element_suffixで検索するとその下にサンプルが合ったから多分それ書いたら行けると思う
0284名無しさん@お腹いっぱい。2015/06/19(金) 01:28:14.12
>>281
vimは
:h setting-tabline にある MyTabLine() 関数を改造
gvimは
:h setting-guitablabel にある GuiTablLabel() を改造
0285名無しさん@お腹いっぱい。2015/06/19(金) 01:31:08.54
>>279
seq のやつもコマンドか関数にしてしまえばもっと楽チン
:Seq 1 191 ってやれば 1から191まで3桁前ゼロで連番作るやつとか
-f ‘%03g’ とかうつのめんどくさいし
0286名無しさん@お腹いっぱい。2015/06/19(金) 12:02:23.67
/x/a/1.txt
/x/b/2.txt
/x/c/3.txt

/x以下に置いてあるサブディレクトリ内のテキストファイルをvimで全て開く方法を教えてください
ファイルの位置は/dir/dir/fileでこれ以上深い階層は存在しません
0287名無しさん@お腹いっぱい。2015/06/19(金) 13:49:24.51
>>286
vim x/**/* とか
0288名無しさん@お腹いっぱい。2015/06/19(金) 14:35:24.09
kaoriyaさんのWin用vimのzipからhz_ja.vimをいただいて:%Zenkakuを使ってみたんだけど、・が全角にならない
156行目あたりに書いとけばいいんだろうけどどこに?
0289名無しさん@お腹いっぱい。2015/06/19(金) 14:47:03.28
失礼、事故解決
let zen_kanaとlet han_asciiとlet s:mx_han_kigouとlet s:mx_han_kigouと176行目に足したら・に対応して動いた
0290名無しさん@お腹いっぱい。2015/06/19(金) 16:32:15.91
>>286
Vim 起動時ならシェルにまかせる
Vim 内からやるなら :argadd x/**/*.txt みたいな
0291名無しさん@お腹いっぱい。2015/06/20(土) 23:34:04.38
ヴィジュアルモードで選択した時に>>や<<すると選択が解除されるんですが
解除されないようにする方法ありますか?
0292名無しさん@お腹いっぱい。2015/06/21(日) 00:54:22.94
>>291
再度>>や<<するのが目的なら . を押す。それ以外なら gv
0293名無しさん@お腹いっぱい。2015/06/21(日) 01:27:34.94
>>291
.が好きじゃなければ
vnoremap > >gv
vnoremap < <gv
0294名無しさん@お腹いっぱい。2015/06/21(日) 11:47:52.83
. が好きじゃないVimmerってどないやねんw
0295名無しさん@お腹いっぱい。2015/06/21(日) 12:08:36.68
やりたいようにやればいいんだよ
TMTOWTDI
0296名無しさん@お腹いっぱい。2015/06/21(日) 14:54:52.46
何でvimを起動すると「Vim はオープンソースであり自由に配布可能です」って日本語で表示されるんですか?
あと:messageすると「日本語メッセージ翻訳 村・・・」って出るんですが日本語矯正されるのがいやです
日本語化した覚え無いんですが英語に治す方法を教えてください
0297名無しさん@お腹いっぱい。2015/06/21(日) 14:57:03.67
.bashrcでもいじっとけ
0298名無しさん@お腹いっぱい。2015/06/22(月) 06:32:23.00
.vimrc に
language english
って書いておけば?
0299名無しさん@お腹いっぱい。2015/06/22(月) 13:40:45.22
you can speak english.
だろ?
0300名無しさん@お腹いっぱい。2015/06/22(月) 14:44:48.84
dwで単語の右側の半角スペースも削除されるんですが
単語だけを削除したいばあいはどうしたらいいですか?
0301名無しさん@お腹いっぱい。2015/06/22(月) 15:25:47.51
>>300
de
0302名無しさん@お腹いっぱい。2015/06/22(月) 16:26:32.95
ありがとうございます
eは単語の終わりに移動するコマンドなんですね
0303名無しさん@お腹いっぱい。2015/06/22(月) 16:36:28.50
>>302
です
:h motion.txt に色々載ってるので他にも興味あればどうぞ
0304名無しさん@お腹いっぱい。2015/06/23(火) 10:15:25.46
vimに含まれているautoloadディレクトリ内のvimファイルのインデントがタブだったり半角スペースだったり両方混じってたりするんですが
公式にコーディング規約で統一されてないんですか?自由ってことですか?
0305名無しさん@お腹いっぱい。2015/06/23(火) 10:45:44.94
koronさんってむかし2ちゃんにいたのか
何でいなくなったんですか
http://pc5.2ch.net/test/read.cgi/unix/1073825479/
0306名無しさん@お腹いっぱい。2015/06/23(火) 16:12:04.32
http://i.imgur.com/oOhIZ9m.png
この文字化けしてる行のテキスト開こうとすると開けなくて文字化け通りの新規ファイルが作成されちゃうんですが
ファイルブラウザの文字コードとかあるんですか?
0307名無しさん@お腹いっぱい。2015/06/23(火) 16:13:15.89
>>305
ソフ板のほうで呼んだら出てくると思うよ。たぶん。
0308名無しさん@お腹いっぱい。2015/06/23(火) 16:21:55.37
>>306
普通にファイルを開くときの文字コード判定処理が動いてたと思う
エンコード指定して開きなおしてみるとか。
:e! ++enc=
03093062015/06/23(火) 16:46:33.66
utf8のunixなんですがなんでしょうね……
なんかヘルプのP7,P12にも文字コードがらみのこと書いてありますね
日本語いっぱい使ってますしファイルブラウザ使えないと結構めんどくさいですね。一応タブ補完使えば何とかなりますけど
0310名無しさん@お腹いっぱい。2015/06/23(火) 17:27:50.33
プラグインの話で恐縮ですが、tcommentで指定のないfiletypeのコメント書式が/* */ なのを
# に変更したいんですが、どうすればいいですか?
0311名無しさん@お腹いっぱい。2015/06/23(火) 18:18:17.07
>>306
netrwで全角ではじまるディレクトリ名が扱えない &#183; Issue #489 &#183; vim-jp/issues &#183; GitHub
https://github.com/vim-jp/issues/issues/489

netrw v150 以降では直っているそうです。

netrw.vim - Network oriented reading, writing, and browsing (keywords: netrw ftp scp) : vim online
http://www.vim.org/scripts/script.php?script_id=1075
0312名無しさん@お腹いっぱい。2015/06/23(火) 18:39:54.87
>>311
おお!v150でバッチグーでいけました!!
ありがとうエロイ人!
0313名無しさん@お腹いっぱい。2015/06/24(水) 14:50:18.82
>>310
つ :h tcomment#DefineType()
ちょっと試した感じだとこれでいけた
:cal tcomment#DefineType('txt', '# %s')
マニュアル嫁
0314名無しさん@お腹いっぱい。2015/06/24(水) 18:50:38.08
fizzyfinder以外で一年以内に更新されているあいまい検索ができるプラグインってありませんか?
0315名無しさん@お腹いっぱい。2015/06/24(水) 19:19:06.60
>>314
思いつく限りだが ctrlp.vim, unite, fzf
俺はctrlpユーザー
0316名無しさん@お腹いっぱい。2015/06/24(水) 21:03:52.57
バッチグー(笑)
0317名無しさん@お腹いっぱい。2015/06/25(木) 12:27:15.13
5000aabcdefgh
これすごい重いんですがなんでですか?
0318名無しさん@お腹いっぱい。2015/06/25(木) 15:38:10.98
ファイルが更新状態であるかvim scriptでどうやって調べるのか教えてください
0319名無しさん@お腹いっぱい。2015/06/25(木) 15:52:56.84
&modで解決しました
英語版スタックオーバーフローのコピペしただけでこれが何をするのかよく分かりません
:h modするとスクリーンサイズがなんたらってのがヒットしてよくわりませんでした
0320名無しさん@お腹いっぱい。2015/06/25(木) 16:10:30.00
>>319
:h expr-option
:h 'mod'
0321名無しさん@お腹いっぱい。2015/06/25(木) 18:32:17.18
>>317
Vim の実装上一行が長くなるとめっちゃ遅くなる
試しに 5000a を 5000o にしたらすぐに終わるはず
0322名無しさん@お腹いっぱい。2015/06/26(金) 16:35:19.60
あ、ほんとだaだとものすごい時間かかったのにoだと6秒ぐらいで終わりました
間違えてタイプミスしたら時間を無駄にするので気をつけようと思います
0323名無しさん@お腹いっぱい。2015/06/27(土) 08:56:10.41
突然dat落ちってやつなってた。
なんでだろ
0324名無しさん@お腹いっぱい。2015/06/28(日) 18:36:38.13
for i in range(3)
execute ":normal o".i
echo i
sleep 1
endfor
これ最後に本文エリアにまとめて文字が表示されるのはなぜですか?
echoで表示された文字と一緒に表示されません
0325名無しさん@お腹いっぱい。2015/06/30(火) 16:05:15.07
:hしてから:qしても:ls!でバッファに残ってますが何でですか?
0326名無しさん@お腹いっぱい。2015/06/30(火) 20:04:02.92
>>325
ヘルプ読まずに書きますが、:quit とか :bdelete だと 'buflisted' が 0 になるだけだからじゃないかと
:ls! でも出ないようにしたければ :bwipeout でいける
0327名無しさん@お腹いっぱい。2015/06/30(火) 20:07:13.90
>>324
スクリプト実行中は画面が更新されないから、これでいけるはず
for i in range(3)
 execute ":normal o".i
 redraw!
 echo i
 sleep 1
endfor
0328名無しさん@お腹いっぱい。2015/07/01(水) 13:06:05.85
vim-javacomplete2のインストール方法の記事を誰か書いて!!!
アフィ貼ってくれたらクリックするからおねがい!
0329名無しさん@お腹いっぱい。2015/07/02(木) 17:53:18.47
https://github.com/vim-scriptsって誰が管理してるんですか?
0330名無しさん@お腹いっぱい。2015/07/02(木) 18:30:45.51
>>329
知らなかったから調べてみた
ここからたどると
ttp://vim-scripts.org/vim/support.html
この二人がメインっぽいな
ttps://github.com/vim-scraper
0331名無しさん@お腹いっぱい。2015/07/02(木) 19:16:23.60
海外版mattnとkoronみたいな人たちか
0332名無しさん@お腹いっぱい。2015/07/02(木) 21:11:00.22
ある程度ここで質問して行ったら自然にドキュメントの読み方が分かるようになって自分の力で簡単なプラグインなら書けるようになりました
ここの先輩方に感謝します
0333名無しさん@お腹いっぱい。2015/07/02(木) 22:03:04.87
>>331
上の人は知らんけどgmarikはVundle作者

しかし最近は総本山であるvim.orgにいちいち上げたりしなくなってしまった
まだ一定数利用者いるようなんだがな
0334名無しさん@お腹いっぱい。2015/07/02(木) 22:08:17.84
>>332
よかったな
便利なの出来たら公開するといいよ
0335名無しさん@お腹いっぱい。2015/07/03(金) 09:41:54.64
文章を入力する箇所、ファイル名や文字エンコーディングが表示される箇所、
E100みたいにエラーが表示される箇所のVimでの呼び方が知りたいんですが
Vimの画面の名称の説明ってヘルプのどこに載ってますか?
0336名無しさん@お腹いっぱい。2015/07/03(金) 19:04:17.07
>>335
> 文章を入力する箇所
→ウィンドウ?

> ファイル名や文字エンコーディングが表示される箇所
→ステータスライン

> E100みたいにエラーが表示される箇所
→コマンドライン

あとset showmodeした時に表示される箇所
→最下行

>Vimの画面の名称の説明ってヘルプのどこに載ってますか?
各名称をまとめて説明してあるヘルプはないんじゃないかなぁ
0337名無しさん@お腹いっぱい。2015/07/04(土) 15:42:18.82
>>335
:h definitions くらいかね
0338名無しさん@お腹いっぱい。2015/07/08(水) 15:41:14.62
macに初めから入ってるvimはなぜCursorLineNrが適応されないのか
0339名無しさん@お腹いっぱい。2015/07/08(水) 15:50:35.77
aaaaa bbbbb ccccc
ddddd eeeee fffff ggggg
hhhhh iiiii
こういう風に改行区切りの文字列が100行あります
これを
aaaaa
bbbbb
のように半角スペースを改行に変換して1行1データだけにしたいのですが
置換すればすぐなんですが今回は操作を記録するコマンドでやりたいです
qa
[SPACE]i[ENTER]
q
100@a

100回繰り返したかったんですが1行分までしか動きません
何故ですか?
0340名無しさん@お腹いっぱい。2015/07/08(水) 19:17:11.85
>>339
ggqa/ i<Enter><Esc>xq
100@a
0341名無しさん@お腹いっぱい。2015/07/08(水) 19:21:08.53
>>338
> CursorLineNR has been added relatively recently around version 7.3.488.

バージョンが古いからだべ
OS X (10.10.4) の vim はパッチ無しの 7.3
0342名無しさん@お腹いっぱい。2015/07/08(水) 20:30:32.92
>>340
ggqa/ r<Enter>q
100@a
0343名無しさん@お腹いっぱい。2015/07/08(水) 21:27:17.15
>>342
これのほうがええな
0344名無しさん@お腹いっぱい。2015/07/09(木) 01:06:56.98
最近Vundleからvim-plugに乗り換えたけど更新速いしpost scriptみたいのも設定できて楽でいいわ
ソフトウェアに韓国もクソもないんや
0345名無しさん@お腹いっぱい。2015/07/09(木) 01:14:21.83
でも韓国が潰れたら提供ストップするかもね
0346名無しさん@お腹いっぱい。2015/07/09(木) 01:32:56.74
>>341
アップデートしたらできました!!ありがとうございます!!
0347名無しさん@お腹いっぱい。2015/07/09(木) 11:43:22.52
vimgolf見るだけで勉強になりました
0348名無しさん@お腹いっぱい。2015/07/09(木) 15:32:55.19
vim-plugが早いのってシャローコピーで余計なものをダウンロードしないから
それならvundleでもneobundleでもできると思うけど
0349名無しさん@お腹いっぱい。2015/07/09(木) 15:48:14.70
>>348
中身読んでないが並列処理するからじゃねえの?Vundleにそういうのはなかったぞ
Neoなんたらは知らん
0350名無しさん@お腹いっぱい。2015/07/09(木) 16:56:18.97
Neobundleは簡単だと思うぞ
俺みたいな初心者でもほいほいプラグイン試せる
0351名無しさん@お腹いっぱい。2015/07/09(木) 17:08:41.39
ctrl+w ctrl+wじゃなくて特定の一発で特定のwindowをアクティブにする方法伝授してください
0352名無しさん@お腹いっぱい。2015/07/09(木) 17:23:04.23
>>351
たとえば <C-W>3j で3つ下のウィンドウに行くけど、そういうのじゃだめ?

一時期好んで使ってた設定を書いといてみる
" <F2>で前のウィンドウに移動し、最大化
nnoremap <F2> <C-W>W<C-W>_
" <F3>で次のウィンドウに移動し、最大化
nnoremap <F3> <C-W>w<C-W>_
0353名無しさん@お腹いっぱい。2015/07/09(木) 17:28:29.91
>>351
ネタではなくクリックするのが一番早い
あとコマンドでできるけど window の番号を指定しないといけない
:2wincmd w
もちろん上のをマッピングして…とかは可能だけど微妙だよな
俺は <C-w>j,k,h,l をそれぞれsj,sk,sh,slみたいにしてやってるわ
もしかしたらそういうプラグインがあるかもしれんが…
0354名無しさん@お腹いっぱい。2015/07/09(木) 17:50:59.04
vim-submodeで
<C-w>jjjj とか連続して移動できるようにすれば
0355名無しさん@お腹いっぱい。2015/07/09(木) 20:40:11.91
>>351
この辺はご存知でした?
<C-W>t 一番左上のwindowに移動
<C-W>b 一番右下のwindowに移動
<C-W>p 直前にいたwindowに移動
0356名無しさん@お腹いっぱい。2015/07/09(木) 21:01:26.14
>>355
351じゃないけど…こんなんあるんか
知らんかった
0357名無しさん@お腹いっぱい。2015/07/09(木) 21:40:32.04
CTRL-WとCTRL-Xは絶滅しろ!
0358名無しさん@お腹いっぱい。2015/07/09(木) 21:59:55.14
>>357
<Nop>しとけよww
0359名無しさん@お腹いっぱい。2015/07/09(木) 22:00:55.13
>>357を選択してCtrl-X、vipを開いてCtrl-VしてCtrl-W
0360名無しさん@お腹いっぱい。2015/07/09(木) 22:57:43.05
>>357
CTRL-W は :wincmd で絶滅出来るやん
0361名無しさん@お腹いっぱい。2015/07/10(金) 00:02:52.72
つかどっちもマッピングしたらええんや
0362名無しさん@お腹いっぱい。2015/07/10(金) 15:16:07.90
nnoremap <C-m> i<CR><Esc>したらEnterにも割り当てられるんですが、別々にできませんかね
+押すんでEnterは滅多に押さないんですけど
0363名無しさん@お腹いっぱい。2015/07/10(金) 17:36:04.13
>>362
CUI Vimは端末の仕組み的に無理
GVimは無理じゃないけど今の作り的には同じになっている
0364名無しさん@お腹いっぱい。2015/07/12(日) 23:57:25.01
1. :!ls
2. 続けるにはENTERを押すかコマンドを入力してくださいって出るのでqを押す
3. jとかkとかq以外のキーを押す
4. 記録中になる

何でqqしたことになるんですか?
2のところで押したqがコマンドとして打ったことになってるのは何故ですか?
■ このスレッドは過去ログ倉庫に格納されています