トップページunix
1001コメント258KB

Vim Part24

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2014/10/12(日) 22:56:29.52
Vim 6以降に関する話題、Part24です。
http://www.vim.org/

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

関連情報は>>2-6あたり
0144名無しさん@お腹いっぱい。2014/11/07(金) 00:48:04.51
本人にメンションしてみてくれ
0145名無しさん@お腹いっぱい。2014/11/07(金) 08:12:55.25
>>134 はどこ行った? 逃げ出した? 「やり方は示されてる」んだってね?w
0146121,1372014/11/07(金) 08:32:05.14
「バカには見えないやり方」
0147名無しさん@お腹いっぱい。2014/11/07(金) 08:46:44.62
間違った回答と気づいたら素直に謝った方がいいと思うの
0148名無しさん@お腹いっぱい。2014/11/07(金) 08:50:57.52
sコマンドと address とを勘違いしただけだろ。許してやれ
0149名無しさん@お腹いっぱい。2014/11/07(金) 09:06:22.43
余計な煽り混ぜた>>125のせいで話が拗れた
「これどう?」「違うよ」「すまん」で済んだものを
0150名無しさん@お腹いっぱい。2014/11/07(金) 09:59:12.21
今年のアドバンスカレンダーなに書こうかな
0151名無しさん@お腹いっぱい。2014/11/07(金) 10:29:08.61
pascal.vim入れたのにちゃんとインデントしない
一体どーなってる??
0152名無しさん@お腹いっぱい。2014/11/07(金) 13:52:30.86
そういう面倒臭い処理はパスカル
0153名無しさん@お腹いっぱい。2014/11/07(金) 14:09:39.67
A:オレ成績悪いから大学はパス
B:成績悪くても大学パスしたのか??
0154名無しさん@お腹いっぱい。2014/11/07(金) 14:53:23.98
C:今度の試験は俺にパスしてくんなよな
0155名無しさん@お腹いっぱい。2014/11/07(金) 14:59:40.70
アドバンスカレンダー?
0156名無しさん@お腹いっぱい。2014/11/08(土) 16:32:21.48
普段配信してないような連中が配信セッティングをするな
Ustの声ちいせえんだよこっちのPCのボリューム最大化でやっと聞けるレベルとか4ねよ
ニコ生とかTwicastで個人で配信して覚えろよ
0157名無しさん@お腹いっぱい。2014/11/08(土) 16:49:05.51
>>156
中高生はゲーム実況者の配信でもみときなさい
0158名無しさん@お腹いっぱい。2014/11/09(日) 14:18:10.14
vimuxいいなこれ
0159名無しさん@お腹いっぱい。2014/11/09(日) 22:53:50.80
editしてるディレクトリでtmuxの新しいの作るとかできるのだろうか
0160名無しさん@お腹いっぱい。2014/11/10(月) 00:13:38.38
>>159
ペインかウィンドウは選べるみたいだけど新規セッションは想定してないでしょ。
それとも、単にペインのカレントディレクトリをvimのカレントディレクトリに合わせるんじゃなくて
編集中のファイルが存在するディレクトリにしたいということ?
それだったら単に呼び出すコマンドの前に"cd ".expand("%:p:h").を付けておけば良いはずで、
プルリク眺めてたらそのものがあった。
https://github.com/benmills/vimux/pull/116/files
0161名無しさん@お腹いっぱい。2014/11/11(火) 10:24:39.52
|1|
|2|

これを連番で1から200まで作りたいんですけど
効率良い方法教えてください
0162名無しさん@お腹いっぱい。2014/11/11(火) 10:29:05.37
シェルにさせるわ

:r!for i in {1..200};do echo "|$i|";done
0163名無しさん@お腹いっぱい。2014/11/11(火) 10:29:57.77
ありがとうございます
0164名無しさん@お腹いっぱい。2014/11/11(火) 10:37:17.11
map万能説
call append(line('.')-1, map(range(10), '"|" . v:val . "|"'))
0165名無しさん@お腹いっぱい。2014/11/11(火) 10:40:20.67
ていうかqqyyp〜200@q のお仕事だよねそれ
0166名無しさん@お腹いっぱい。2014/11/11(火) 11:15:00.67
c-aのお仕事でもあるな
0167名無しさん@お腹いっぱい。2014/11/11(火) 11:53:03.03
yとpでクリップボードを使うようにしてるんですけど
xで文字を消した時にクリップボードにコピーされてしまうのをやめる方法ありませんか?
0168名無しさん@お腹いっぱい。2014/11/11(火) 11:55:46.67
"_x
0169名無しさん@お腹いっぱい。2014/11/11(火) 11:58:06.64
"_x

"_がブラックホールのようなレジスタで /dev/nullのような存在
0170名無しさん@お腹いっぱい。2014/11/11(火) 12:18:53.52
xを_xに置換したらいけますねありがとうごじあます
0171名無しさん@お腹いっぱい。2014/11/11(火) 14:07:39.43
いけません
0172名無しさん@お腹いっぱい。2014/11/12(水) 11:39:25.00
|123|1111|3342|
|1|2|3|

|123|1111|
|1|2|

3のセルに数字が入っているんですけどこれをお尻のセルだけ削除する正規表現を教えて下さい
0173名無しさん@お腹いっぱい。2014/11/12(水) 11:44:14.51
正規表現だけ教えてもしょうがないんでは。
0174名無しさん@お腹いっぱい。2014/11/12(水) 12:18:12.96
\d*|$

for expample
%s/\d*|$//
0175名無しさん@お腹いっぱい。2014/11/12(水) 12:43:34.16
sep ( content sep )* ( content )?
content ( sep content )* ( sep )?
とかうんざりするZEEEEEE!!!
0176名無しさん@お腹いっぱい。2014/11/12(水) 22:07:38.59
今開いてるテキストについて削除したいだけならマクロ使うのもありですね
qq$T|"_Djq
で記録かな
0177名無しさん@お腹いっぱい。2014/11/12(水) 22:20:12.26
@q 「たまには恋文なぞ喰いたい」
0178名無しさん@お腹いっぱい。2014/11/12(水) 22:24:08.24
マクロはいい
無限の可能性を感じる
0179名無しさん@お腹いっぱい。2014/11/13(木) 01:54:08.75
マグロ女ほど開発しがいのあるものもないのと同じか
0180名無しさん@お腹いっぱい。2014/11/13(木) 02:37:42.19
腕の見せ所だな
0181名無しさん@お腹いっぱい。2014/11/13(木) 17:14:18.06
http://qiita.com/musclemikiya/items/58edc801264aca151446
>[neobundle] neobundle#rc() is deprecated function.
>[neobundle] It is removed in the next version.

neobundle#rcの部分を書き換えたのだが毎回これが出てしまう
~/ と ~/.vim/ 以下全部grep しても "neobundle#rc"が見つからない

どうしたらよいのだろうか?
01821812014/11/13(木) 17:40:57.92
たぶん分かった。何時か、リンクで1つだったのを何かの間違いで2つに分けてしまった
"~/.vimrc = ~/dotfile/.vimrc" ==> "~/.vimrc /= ~/dotfile/.vimrc"

dofile/以下の方を編集するエイリアス使って.vimrcにアクセスしていたから
気がつかなかった
type viset
viset is an alias for vi ~/dotfiles/.vimrc


お騒がせしまして申し訳ない
0183名無しさん@お腹いっぱい。2014/11/15(土) 02:28:47.23
初めてパッチ適用する作業で気をつけることはあるだろうか?
Linuxのvimだけ
spelllang=en,cjk
のcjk、つまり日本語無視して英語だけチェックする部分のパッチが当たってないから
対応することになった
0184名無しさん@お腹いっぱい。2014/11/15(土) 03:50:08.64
寝ぼけながらやってて記憶があやふやながらうまくできた
パッチが50までだったのが516までいったようだ?
hg clone https://vim.googlecode.com/hg/ vim
0185名無しさん@お腹いっぱい。2014/11/15(土) 08:01:00.02
こことか見ればいいんじゃないの
http://vim-jp.org/docs/build_linux.html
0186名無しさん@お腹いっぱい。2014/11/15(土) 12:48:58.56
そのページの手順で
make installまでやると最新の所までパッチも当たってくれて助かった
0187名無しさん@お腹いっぱい。2014/11/16(日) 13:17:02.08
有料の勉強会は営利として認められるのであそこでJasrac管理楽曲を使うのはドウかなと思う
0188名無しさん@お腹いっぱい。2014/11/16(日) 14:15:54.19
講演料とか出てないし利益も出してないみたいですけど営利になるんですか?(無知)
# 僕程度の技術でググると具体的な営利/非営利団体の勉強会の情報が引っかかってきていい情報に辿りつけなかった
0189名無しさん@お腹いっぱい。2014/11/16(日) 15:07:11.57
JASRACに問い合わせてみ。
0190名無しさん@お腹いっぱい。2014/11/16(日) 16:08:29.04
私的利用の範囲ではないので違法ですよ
0191名無しさん@お腹いっぱい。2014/11/16(日) 16:12:35.82
>>188
参加料
0192名無しさん@お腹いっぱい。2014/11/16(日) 17:00:31.55
後ついでに言うとカラオケにして流すのもダメ
音楽の権利っていろいろ面倒なので勉強会ではやらないほうがよいだろう
0193名無しさん@お腹いっぱい。2014/11/16(日) 20:23:35.73
あいつが歌うの嫌な参加者大勢いるけどみんな大人対応してる。ハッキリとNOと言わないと伝わらないよ。
0194名無しさん@お腹いっぱい。2014/11/16(日) 20:25:00.30
そもそも歌とか歌うのは二次会からにしてほしいぜ
0195名無しさん@お腹いっぱい。2014/11/16(日) 21:10:41.27
Jasracにお金を払えばいいけどこの場合主催者が契約しなければならない
この程度も払えないなら歌詞もBGMも完全オリジナルじゃないと違法
いままでよく権利関係で話題がでなかったのかが不思議でたまらない
http://www.jasrac.or.jp/info/create/calculation/concert/event.php
0196名無しさん@お腹いっぱい。2014/11/16(日) 21:14:20.97
連中は金になる話にしか食い付かない
vimmerにたかっても高が知れてると思ってんだろ
0197名無しさん@お腹いっぱい。2014/11/16(日) 21:57:41.13
これは……オリジナル楽曲制作の流れ!
0198名無しさん@お腹いっぱい。2014/11/16(日) 23:22:06.09
OpenBSDにハードロック調のテーマソングあった気がする
0199名無しさん@お腹いっぱい。2014/11/17(月) 02:28:43.27
まさにジャイアン
0200名無しさん@お腹いっぱい。2014/11/17(月) 10:11:13.68
gvim活用のアイデアある?
vim on console と異なり256色より多く設定できて、キーバインドの制約、
例えばscreenのプリフィックスやteriminal上の制約から来る一部のキーバインドの封印が無い
など長所もある

だから、基本は.vimrcからvim使って"何か"を.gvimrcで上乗せしてgvim使ったら面白いことにならないかな?
0201名無しさん@お腹いっぱい。2014/11/17(月) 10:23:07.96
gvimはwindows用だと思ってる
0202名無しさん@お腹いっぱい。2014/11/17(月) 11:20:21.12
ページャ代わりのgvim を立ち上げて、そこに--remoteで色んなヘルプ投げて表示させてるわ。
remote_foreground()をマッピングして行き来しながら、結構便利。
0203名無しさん@お腹いっぱい。2014/11/17(月) 12:59:23.67
スペルチェックがgvimの方が見やすい
0204名無しさん@お腹いっぱい。2014/11/17(月) 14:08:18.67
tmux併用が鉄板だから自然と>>201なことに

:guiでgvimに移れるけど:cuiでvimに戻るという訳にはいかないのが残念
0205名無しさん@お腹いっぱい。2014/11/17(月) 14:37:17.98
gvimとか使ったことねえわ
0206名無しさん@お腹いっぱい。2014/11/17(月) 16:41:05.83
rxvt-unicode+vim+tmuxだが、set titleとset titlelineが全く効かない(表示はvim~だけ)
xtermだと今開いているファイル名が出てるのに
ぐぐってみたがどれも効果なし
0207名無しさん@お腹いっぱい。2014/11/17(月) 19:31:38.16
上に挙がってる長所とは被らないけど vim-anywhere は結構便利に使っている
0208名無しさん@お腹いっぱい。2014/11/18(火) 00:38:57.23
プログラマーっ
0209名無しさん@お腹いっぱい。2014/11/18(火) 00:39:29.57
大学生ぐらいの年齢の子が芸能人の画像を無断引用している時代だし
0210名無しさん@お腹いっぱい。2014/11/18(火) 19:18:59.51
vimはどこでも見るけど
viは見たことない
0211名無しさん@お腹いっぱい。2014/11/18(火) 19:21:39.38
Vimは非同期に対応してないって聞きますけど
同期するとどういうことができるようになりますか?
0212名無しさん@お腹いっぱい。2014/11/18(火) 19:22:37.86
今思ったけどfiletype別に読み込む設定ファイルを用意したらNeoBundle使わなくても良さそうなことに気づいた
0213名無しさん@お腹いっぱい。2014/11/18(火) 20:33:01.98
>>211
vimproc入れたみたいになるのでは?
grepとかで再帰的に探している間にも
操作できるとか?

>>212
アップデートめんどくさくないか?
0214名無しさん@お腹いっぱい。2014/11/18(火) 21:03:54.48
>>212
何言ってんだか良く分からん
どっちにしろLazy読み込みは有用だと思うが
0215名無しさん@お腹いっぱい。2014/11/18(火) 21:28:30.81
おまいらそんな起動遅くなるほどプラグイン入れてんの?
別にええけど
0216名無しさん@お腹いっぱい。2014/11/18(火) 22:04:06.02
アップデートなんてプラグインのディレクトリでgit pullするシェルスクリプトを書けばいいし
プラグインなんて頻繁に入れるわけでもないし
0217名無しさん@お腹いっぱい。2014/11/18(火) 22:08:48.14
なんだかんだで30ぐらい入ってるけど、常用してんのは半分ぐらい
0218名無しさん@お腹いっぱい。2014/11/18(火) 22:24:46.65
入れるときは「まさにこれが欲しかった」って入れるんだけど
その後出番が来ないから消すんだよな
0219名無しさん@お腹いっぱい。2014/11/18(火) 23:22:54.93
ころっと忘れるけど頭の片隅には入ってる
今日、.vim/color/のカラースキーム触ったけど:ColorHighlight役に立ったわ
#がある6桁の数字を対応する色でハイライトしてくれるやつ

hi SignColumn guifg=#839496 guibg=#bebebe guisp=#bebebe gui=NONE ctermfg=66 ctermbg=7 cterm=NONE


滅多に使わないけど絶対使うことが分かってるのだけは残してる
0220名無しさん@お腹いっぱい。2014/11/18(火) 23:29:51.06
使わないプラグインってキーバインド忘れるんだよな
uniteはuniteでかったるいし
0221名無しさん@お腹いっぱい。2014/11/19(水) 00:03:00.34
一時は趣味のようにいじってた.vimrcも最近じゃ全然だわ
て、別に困ってないからいいわけだけども
0222名無しさん@お腹いっぱい。2014/11/19(水) 03:21:46.05
>>220
めったに使わないキーバインドはモニタの脇に貼ってある
老人の知恵は侮れない
0223名無しさん@お腹いっぱい。2014/11/19(水) 17:47:44.88
rootのパスワードも一緒に貼ってある
0224名無しさん@お腹いっぱい。2014/11/20(木) 00:06:32.31
>>102
できたやつ書いておく。C-fやC-bならEmacsとほぼ同じ
nmap <F9> <c-w>w<c-d><c-w>w
nmap <F10> <c-w>w<c-u><c-w>w

ステータスバーがちらくつ点が未完成
vimscriptで仕上げないと駄目そうだ。マクロではこの辺が限界
0225名無しさん@お腹いっぱい。2014/11/20(木) 01:26:05.73
autocmd、いじってるうちに気がつくと抜け出しがたい迷路に陥ってるううううう

>>224 ちょっとムキになってみたw
nnoremap <silent><F9> :exe winnr('$')."wincmd w <bar>:exe \"normal! \\<lt>c-u>\"<bar>".winnr()."wincmd w"<cr>
nnoremap <silent><F10> :exe winnr('$')."wincmd w <bar>:exe \"normal! \\<lt>c-d>\"<bar>".winnr()."wincmd w"<cr>
0226名無しさん@お腹いっぱい。2014/11/20(木) 01:47:06.97
>>225
関数作ろうぜww.そしたら<bar>とかやんなくてもいいから多少は見やすくなるじゃろ
0227名無しさん@お腹いっぱい。2014/11/20(木) 09:07:07.64
iとaで編集できますけど
このキーを入れ替えるキーマップの書き方も教えてください先輩
0228名無しさん@お腹いっぱい。2014/11/20(木) 11:24:38.58
>>227
nnoremap i a
nnoremap a i
I A等もわすれずに

>>225
224のはインサートモード中からEsc挟んでやるとさらに遅さが気になるので参考になるわ
サンキュー
0229名無しさん@お腹いっぱい。2014/11/20(木) 11:54:35.73
pythonコードを=で整形すると
a = [
________[0,1,0],
________[0,1,0],
________[0,1,1],
________]

(_は半角スペース)
インデントが2倍になってる

理想は
a = [
____[0,1,0],
____[0,1,0],
____[0,1,1],
]

vimrcはこう設定した
set tabstop=4
set shiftwidth=4
set softtabstop=4

どうvimrcを修正したらインデントがただしくなるか?
0230名無しさん@お腹いっぱい。2014/11/20(木) 21:50:29.34
Macvimの起動直後にNERDTreeからファイルを開くと
/.vim/after/においたfiletype pluginを読み込んでくれないのですが
どのようにすれば読み込んでくれるようになるでしょうか。
0231名無しさん@お腹いっぱい。2014/11/20(木) 22:10:14.70
すいません事故解決しました…
~/.vim/after/ftpluginにおいたら無事に読み込んでくれました。
0232名無しさん@お腹いっぱい。2014/11/23(日) 16:43:47.67
ノーマルモードと編集モードの時にCtrl+Shift+Bにオリジナルの関数を割り当てたいんですけど
こういうのはvim-jpのどのページを見たらいいのかおしえてください
0233名無しさん@お腹いっぱい。2014/11/23(日) 18:19:31.11
とりあえず当て方は
:h nnoremap
:h innoremp
で分かる

で、vim-jpは
http://vim-jp.org/vimdoc-ja/
に以下の様なドキュメントがコピーされているから、(:hでみれるやつ)
Emacs-w3m等から見たいとか、そういうことはできるけども
基本 :h にお任せ

基本
□ quickref
□ sponsor
ユーザーマニュアル目次
□ usr_toc
初級編
□ usr_01
□ usr_02
0234名無しさん@お腹いっぱい。2014/11/23(日) 18:21:34.49
:helpgrep \cmap .*<cr> すると簡単なサンプルが引っかかるぞ。
0235名無しさん@お腹いっぱい。2014/11/23(日) 23:40:10.41
>>232
Vim は Ctrl + Shift + アルファベット みたいなキーバインドは割り当てられないよ!
不便すぎてごめんねぇ
Alt + Shift + アルファベット ならできるんだけどね
0236名無しさん@お腹いっぱい。2014/11/23(日) 23:59:45.87
NeoVimだとできる?
0237名無しさん@お腹いっぱい。2014/11/24(月) 00:08:13.67
>>235
まじかw
使えないならば tmux や terminatorに 安心して割り当てられるな
0238名無しさん@お腹いっぱい。2014/11/24(月) 01:35:24.51
vimscriptを書いてます。
ユーザーの入力を受け取るために

let res = input('キーを入力してください:')

のようなソースがあります。
このままだと、ユーザーが何か文字を入力してEnterを押すと、入力の窓が閉じます。

Enterで閉じるのではなく、何かキーを一度押したら自動で窓を閉じたいのですが、可能でしょうか?
0239名無しさん@お腹いっぱい。2014/11/24(月) 02:17:57.71
getchar() で足りる?
02402382014/11/24(月) 03:02:44.31
>>239
ご返信ありがとうございます。

getchar()で1文字取得できたのですが、
1文字入力後に
「続けるにはEnterを押すかコマンドを入力してください」
という文が表示されて結局Enterを押す事になってしまいます。

let res = getchar()
の後に

execute 'ccl'

execute 'normal <cr>'
を試しましたが上の文は消せませんでした。
0241名無しさん@お腹いっぱい。2014/11/24(月) 03:10:37.92
それはその前の echo '文字列' でエコーエリア喰って出ているメッセージだと思う。
とりあえずスクリプト内で一時的に let &ch = 5 とかするとか、echon で改行を抑制するとか。

にたよな事例 http://anago.2ch.net/test/read.cgi/software/1379912425/933
0242名無しさん@お腹いっぱい。2014/11/24(月) 03:11:43.65
あ、前のメッセージ消してもいいなら :redraw も有効かな。
02432382014/11/24(月) 03:58:57.68
ありがとうございます!
確かにgetchar()の前にechoで出力してました。
redrawで綺麗に消せました
0244名無しさん@お腹いっぱい。2014/11/24(月) 17:37:52.12
read only中だけビューアー的なキーマップを設定したいのですが
具体的には
nnoremap <Space> <PageDown>

この<Space>はreadonlyではない時には何かしらのprefixになっているとして
うまく設定するやり方はないでしょうか?

今は
if v:readonly == 1
nnoremap <Space> <PageDown>
endif
と書いて構文エラーで跳ねられています
■ このスレッドは過去ログ倉庫に格納されています