Vim Part25 ..
[2ch|▼Menu]
22:名無しさん@お腹いっぱい。
15/04/09 09:00:57.97 .net
URLリンク(ideone.com)
例えばこの7〜14行目の構文を、
すぐ下の16〜23行目のように、
一気に整形するスマートな方法ってありますか?
このような操作はいちいち空白を1文字ずつ挿入するくらいしか、
私の現状の知識では思いつかないのです。
それからvimって、
カウンタ+文字で同じ文字を一気に挿入するコマンドはないですかね?
スペースを指定数分だけガッと入れる事ができれば、
他の行はそれを元に数字を少しずつ変える感じで、ちょっとは早く
なりそうなんですが。

23:名無しさん@お腹いっぱい。
15/04/09 09:37:34.92 .net
>>21
URLリンク(github.com)
とか使えそうだけどな。
20 i <space> <esc> <esc>
とかでスペースを20文字入力することはできるけど、そんな楽でもないよな。

24:名無しさん@お腹いっぱい。
15/04/09 10:04:02.57 .net
align.vim

25:名無しさん@お腹いっぱい。
15/04/09 10:20:21.67 .net
>>21
tabular.vim で :Tabukar /== でいけそう

26:名無しさん@お腹いっぱい。
15/04/09 10:21:07.87 .net
>>24
コマンドは :Tabular

27:21
15/04/09 11:15:57.03 .net
>>22-24
凄いです!
このくらいはvim界では常識の作法なんですかね。
どれも使えそうなので、調べて検討したいと思います。

28:名無しさん@お腹いっぱい。
15/04/10 07:38:06.30 .net
オリジナルTVアニメ『SHIROBAKO』 特別エンドロール
URLリンク(www.youtube.com)
さすがリアルは人多いなー

29:名無しさん@お腹いっぱい。
15/04/10 07:39:36.08 .net
すまん、誤爆

30:名無しさん@お腹いっぱい。
15/04/10 11:43:52.25 .net
>>26
常識かはしらんけど、さすがにこれ系はプラグイン使った方が楽
素Vimならどうやるかを考えるのも一興だけど

31:名無しさん@お腹いっぱい。
15/04/10 12:24:27.87 .net
plugin無しで
:7,13s/=/<space>いっぱい=/
fn
2l
<ctrl>v
6k
|<esc>
:7,13s/|<space>\+//
<space>は普通のスペース
いっぱいは適当な個数入れて

32:名無しさん@お腹いっぱい。
15/04/10 14:24:14.42 .net
>>29
素でも楽勝だよ
80i <Esc>ld`[
:7,13s/=/<C-R>"&
40桁目に = を揃える場合
:7,13s/\%40v\s*

33:名無しさん@お腹いっぱい。
15/04/10 17:22:32.11 .net
まっさらなvim-gnome使ってるんですが、renamer.vimとmassrenのどっちが安定してますか?

34:名無しさん@お腹いっぱい。
15/04/10 20:51:48.43 .net
知るかヴォケ
そんなん自分で確かめろカス

35:名無しさん@お腹いっぱい。
15/04/10 21:25:23.69 .net
すみませんが詳しい方のみ回答をお願いします

36:名無しさん@お腹いっぱい。
15/04/10 22:28:53.35 .net
massrenをどうぞ

37:名無しさん@お腹いっぱい。
15/04/10 23:24:49.83 .net
俺詳しいけど自分で確かめろ以外の解答は思いつかない。

38:名無しさん@お腹いっぱい。
15/04/11 11:19:02.88 .net
renamer.vimがいいと思います

39:名無しさん@お腹いっぱい。
15/04/11 11:49:35.05 .net
massanイイネ

40:名無しさん@お腹いっぱい。
15/04/11 12:02:23.71 .net
どうしてもVimでPerl互換の正規表現を使う方法ってないんですか?
あのクソガラパゴスの正規表現を覚えないといけないんですか?

41:名無しさん@お腹いっぱい。
15/04/11 12:42:17.53 .net
>>39
\v 使えばちょっとはマシかな
:h \v

42:名無しさん@お腹いっぱい。
15/04/11 13:07:08.97 .net
>>39
eregex.vimを使うとか。

43:名無しさん@お腹いっぱい。
15/04/11 13:14:32.65 .net
remover.vimがいいよ

44:名無しさん@お腹いっぱい。
15/04/12 13:56:03.02 .net
Align.vim を導入したのですが、幾つかあるコマンドの内、空白を扱うコマンド
(<Leader>tspとか)を実行すると、その後挿入モードで空白が勝手にアンダーバー
でハイライトされてしまい、かなりうざいのですが・・・同じような症状になる
方っていますか?
そもそもこのハイライトの消し方が調べてもよくわからないんですが、
(set nolistでは消えなかった)、それがわかれば、そこまでのコマンドを
込みでマッピングしようかなと思うんですが、もっと根本的な解決策
あれば助力下さい。
それともただのバグ?

45:43
15/04/12 15:58:26.84 .net
空白が可視化されてる訳じゃなく、空白が検索対象になっていて
ハイライトされてる状態であることが判明しました。
nohlsearchで消えたので、これをマッピングすることで
一時的には解決しましたが、なんだか気持ち悪いですね・・

46:名無しさん@お腹いっぱい。
15/04/12 16:29:15.58 .net
Neocomplete を使ってる時に、sakuが名前に含まれるディレクトリの中で
sakuから始まるファイルを編集しようとすると、ファイル名補完がきかなく
なるんだが、これって俺だけ?
Ctrl+x, Ctrl+f での補完はきくので、Neocomplete のトラブルっぽいんだが。

47:名無しさん@お腹いっぱい。
15/04/12 22:13:39.63 .net
Aにはヒットして
ABにはヒットしない正規表現をおしえてえええええ
/A/

48:名無しさん@お腹いっぱい。
15/04/12 22:35:32.58 .net
否定先読み

49:名無しさん@お腹いっぱい。
15/04/12 22:38:39.25 .net
A(?>!B)

50:名無しさん@お腹いっぱい。
15/04/13 08:14:44.60 .net
>>46
:h \@!

51:名無しさん@お腹いっぱい。
15/04/13 10:03:26.47 .net
すいませんVimってclangでコンパイルしたら早くなったりしないんですか?

52:名無しさん@お腹いっぱい。
15/04/13 19:45:20.02 .net
Vimをインストールしたら何の設定をしなくてもオムニ補完でキーワードが出ますけど
このキーワードを編集する場合はどこのファイルを修正したらいいんでしょうか?

53:名無しさん@お腹いっぱい。
15/04/13 19:59:43.95 .net
>>51
なんかいろいろ端折りまくりですね。

54:名無しさん@お腹いっぱい。
15/04/13 23:57:41.37 .net
:se runtimepath とかの実行結果をr! みたいなかんじで取り込むにはどうしたら良いですか?

55:名無しさん@お腹いっぱい。
15/04/14 00:14:00.91 .net
>>53
オプションの値は &option でアクセスできるので、バッファに流し込みたいなら
cal setline(line('.'), &runtimepath)

56:名無しさん@お腹いっぱい。
15/04/14 00:28:44.63 .net
おぉ!あんまり意味わかりませんができました。
ありがとうございます。
明日:help setline と :help lineを読んでみます。

57:名無しさん@お腹いっぱい。
15/04/14 09:02:29.41 .net
>>52
オムニ補完に使うファイルが入っているパスをおしえてください

58:名無しさん@お腹いっぱい。
15/04/14 10:28:46.55 .net
>>56
普通は runtimepath のどこかの autoload にある
ちな、オムニ補完は単純な辞書の定義だけじゃないよ

59:名無しさん@お腹いっぱい。
15/04/14 16:44:03.99 .net
>>57
/usr/local/share/vim74/autoload/にたくさんありました
これをカスタマイズして~/.vim/autoload/におけばいいってことだけわかりました
あなたは優秀な先生です

60:名無しさん@お腹いっぱい。
15/04/14 16:44:36.93 .net
すみません、ええと
numやintにひっかからないように'n'一文字だけで検索しようと思って
/\<n\>とやったら、'\n'まで一緒にひっかかっちゃうんですけど、
どうにか除外する方法ってありますかね?

61:51==58
15/04/14 19:15:47.95 fBQta7Ho.net
あのすいませんautoloadで読み込まれるファイルを公開している先輩方のスクリプトを読んで勉強しようと思ってたんですが
URLリンク(www.vim.org)のtypeってことろにautoloadの項目がありません
どうやって検索したらいいんでしょうか?

62:名無しさん@お腹いっぱい。
15/04/14 21:17:53.75 .net
>>60
そりゃ type はインストール方法じゃないからね。
下の keywords のボックスに “autoload” を入れて検索すればそれっぽいのが見つかるでしょ

63:名無しさん@お腹いっぱい。
15/04/14 21:53:12.96 .net
>>59
/[^\]n\>

64:名無しさん@お腹いっぱい。
15/04/14 22:47:47.63 .net
&option でアクセスできるものならsetlineでバッファに取り込めるのはわかったのですが、
:syntax や :imap のような場合はどうすればバッファに取り込めるでしょうか?
複雑な情報が大量に表示されるのに目視しか出来ないのはつらいです。

65:名無しさん@お腹いっぱい。
15/04/14 23:06:27.69 .net
>>62
ひっかからないようなのですが・・・

66:名無しさん@お腹いっぱい。
15/04/14 23:53:02.37 .net
>>64
>>59のでやるなら \\ にしないとダメなんじゃね?

67:名無しさん@お腹いっぱい。
15/04/15 00:16:50.92 .net
>>63
redirするだけなので沢山あると思うけど
URLリンク(github.com)
URLリンク(github.com)
URLリンク(github.com)
このあたりかな
ViewOutputは可変長引数に対応してない(:VO setはいけるが:VO set runtimepathはいけない)ので
工夫が必要
オススメはAmaiSaeta/capture.vim

68:名無しさん@お腹いっぱい。
15/04/15 00:20:40.72 .net
>>63
redir => foo
imap
redir end
echo foo

69:名無しさん@お腹いっぱい。
15/04/15 00:21:58.48 .net
>>60
github で VimL だけに絞って検索したら楽よ

70:名無しさん@お腹いっぱい。
15/04/15 08:14:34.92 .net
visual mode でEscした時に、反応が鈍いのはどうにかなりませんかね?
挿入モードからEscは瞬間的なのになあ。
vとかでトグルするしか早く反応しない?

71:51==58==60
15/04/15 09:43:52.38 vNlfNeED.net
>>61,68
教えてもらった方法で探してみたらいくつかありました

72:名無しさん@お腹いっぱい。
15/04/15 09:48:02.40 .net
>>64
ごめん
/[^\\]\<n\>
カーソルが n 上にないのが気になるなら
/[^\\]\zs\<n\>

73:名無しさん@お腹いっぱい。
15/04/15 10:07:06.04 .net
>>69
表示に惑わされずに次のコマンドを入力すればちゃんと受け付けてくれるよ。
どうしても気になるなら
set ttimeoutlen=100
と設定してみて
:h ttimeout
:h ttimeoutlen

74:名無しさん@お腹いっぱい。
15/04/15 11:39:46.18 .net
>>71
できました。
凄すぎです!
正規表現って何でも出来るんですね!
>>72
連投すみません、なるほど、表示だけ遅いんですね。
やることがはっきりしてれば問題ないと。
そのコマンドも試してみます。

75:名無しさん@お腹いっぱい。
15/04/15 18:41:39.95 .net
:tabeをよく打つのでこのtabeを1文字か2文字に短縮したいんですがどうやるのかおしえてください

76:名無しさん@お腹いっぱい。
15/04/15 19:27:57.17 .net
command T tabe

77:名無しさん@お腹いっぱい。
15/04/15 22:03:23.34 .net
>>74
マッピングしたらいいよ
nnoremap ,t :<c-u>tabe<space>

78:名無しさん@お腹いっぱい。
15/04/16 19:30:07.45 .net
are

79:名無しさん@お腹いっぱい。
15/04/16 19:37:57.74 .net
おれさっきここで正規表現について書き込んだのにここに残ってない!
それともデータが消えた?

80:名無しさん@お腹いっぱい。
15/04/16 19:40:07.89 .net
/[で検索できるのに
:%s/[//gこれがエラーになるのが分かんない
なんで置換の時は\[って書かないといけなくて検索の時はエスケープしなくていいんだよ

81:名無しさん@お腹いっぱい。
15/04/16 21:07:45.79 .net
>>78
君が書き込んだのはソフ板だよ
vim Part 6
スレリンク(software板)

82:名無しさん@お腹いっぱい。
15/04/16 21:18:07.13 .net
>>79
:h magic
:h substitute

83:名無しさん@お腹いっぱい。
15/04/16 21:47:40.48 .net
>>80
なんだそうだったのかどうりでないわけだ
専ブラが使えないからきつい
>>81
一度ヘルプを見ながら学習する必要があるようだ

84:名無しさん@お腹いっぱい。
15/04/16 23:06:39.13 .net
>>82
スマホでないならプロキシ噛ませていままでの専ブラ使えばいい

85:名無しさん@お腹いっぱい。
15/04/16 23:51:24.19 .net
次すれ立てる時に覚えてたら使ってくれ
メール欄に以下を書いてスレ立てすると
ageteyon(デフォルト) … [転載禁止] スレタイ(c)2ch.net
ageteon … スレタイ [転載禁止](c)2ch.net
ageteoff … 以前と変わらず
91 名前:Mango Mangue ★[sage] 投稿日:2014/10/25(土) 01:01:11.63 ?S★(824703)
agete、sageteは名前欄に「転載ダメ」を表示
age、sageなら以前のまま
スレ立て時のみ、
ageteon、sageteonなら、スレッドタイトルの末尾に[転載禁止]を表示
ageteoff、sageteoffなら、スレッドタイトルに[転載禁止]を表示しない
名前欄に「転載ダメ」を入れたいときには、agete、sageteを追記する
ageteonagete
ageteoffagete

86:名無しさん@お腹いっぱい。
15/04/16 23:53:23.84 UZqj/1bM.net
強制的にIDを出したい場合は名前欄に!idを入力する

87:名無しさん@お腹いっぱい。
15/04/17 15:18:40.03 .net
なんでif_pythonじゃなくてif_pythなんですか?

88:名無しさん@お腹いっぱい。
15/04/17 23:25:53.07 .net
git show branchname:filenameの内容をvimで編集したいんですが
標準出力された内容をファイルに保存せずにvimに流す方法ありませんか?

89:87
15/04/17 23:38:36.30 .net
!使ったら今開いてるウィンドウに挿入されました
これでいいのかな

90:名無しさん@お腹いっぱい。
15/04/17 23:56:43.87 .net
>>87
それ前も出たような
ls | vim -

91:名無しさん@お腹いっぱい。
15/04/17 23:57:40.52 .net
>>87
いま開いてる vim に流し込みたいなら、:.!ls

92:名無しさん@お腹いっぱい。
15/04/18 02:15:24.55 .net
今後もちょくちょく使っていきたいキーマクロがあるんですが
保存して次回vim起動時にもまた使えるようにするにはどうすればいいんでしょ

93:87
15/04/18 09:09:31.91 .net
>>89
-は便利ですね覚えました
>>90
何故かわかりませんがgit show branchname:filenameのときだけ.を付けなくてよくて
lsとかdirとかそういうコマンドは.を付けないとダメでした
仕組みはわかりませんが.を付けるようにします

94:名無しさん@お腹いっぱい。
15/04/18 12:25:21.10 .net
aaa'aaaaaaaaaaaaaaaa'aaaから'aaaaaaaaaaaaaaaa'を削除したいんですが
2番目の'の所にカーソルがあるとしてdF'ってすると'が残ってしまいます
1番目の'までカーソルを移動してdf'ってすれば綺麗に消せますが移動するのが面倒臭いので綺麗に消す方法を伝授してください

95:名無しさん@お腹いっぱい。
15/04/18 12:32:25.91 .net
>>93
da'

96:名無しさん@お腹いっぱい。
15/04/18 12:38:32.20 .net
>>93
ちなみに da' はカーソルが行先頭から 2つめの ' までのどこにあってもOK

97:名無しさん@お腹いっぱい。
15/04/18 13:02:11.90 .net
>>94-95
これは便利ですね
HTMLで属性値をまるごと消す時に便利です

98:名無しさん@お腹いっぱい。
15/04/18 13:43:28.49 .net
>>96
クォートを残したい時はdi'
:h text-objects に色々載ってるので参照されたし

99:名無しさん@お腹いっぱい。
15/04/18 14:10:20.67 .net
set line
set linechars=eol:$,tab:>
で警告が出て効かないんですが……何故orz
set lineは効いてますのでeol:$な状態です

100:名無しさん@お腹いっぱい。
15/04/18 14:15:42.37 .net
>>98
RTFM!!
tabは2文字

101:名無しさん@お腹いっぱい。
15/04/18 22:12:10.75 .net
>>97
ありがとうございますヘルプ読んでみます

102:名無しさん@お腹いっぱい。
15/04/18 23:09:56.01 .net
>>99
一応tab:>>とかtab:>-とかもやってみたんですけど出来ませんでした
が、今もう一度やったら出来ました……どっか他に見落としがあったんですかね
eol:&#8626;で2バイト文字使ったからかなーとか>>みたいな同じ文字は2文字にカウントしないのかなーとか。そういうことではなかったようでs
とにかく解決しました。ありがとうございましたm(__)m

103:名無しさん@お腹いっぱい。
15/04/19 17:19:03.18 .net
プラグインとして配布目的ではなくて、自家製のスクリプトを読み込ませたいんですが
全てのfiletypeで共通に使えるのがtest.vimでfiletypeがcssのときだけ使いたいcheck.vimがあるんですが
こんなふうに書くので合ってますか?
augroup MyScript
autocmd!
source ~/.vimscript/test.vim
autocmd FileType css source ~/.vimscript/check.vim
augroup END

104:名無しさん@お腹いっぱい。
15/04/20 02:10:54.70 .net
自分定義が設定できるアウトライナー知りませんか?
VimAwesome見たらアウトライナーいっぱい出てきちゃって
▼ が親で▼▼ が子で▼▼▼ が孫で〜ってのを.txt対象に左サイドペインにツリー表示したいです

105:名無しさん@お腹いっぱい。
15/04/20 10:28:55.16 .net
昔、秀丸みたいなアウトラインをカスタマイズ出来るプラグインを探してたけどUnite.vimで妥協した
秀丸のあのアウトラインに近いプラグインないんですよ
満足できるものがないんです

106:名無しさん@お腹いっぱい。
15/04/20 18:14:24.10 .net
(あいう(えお)かきく)
↑のようにカッコの中にかっこが入ってる時に
内側のカッコを
(あいう((えお))かきく)
のように二重のカッコに置き換えるためのコマンドを教えてください

107:名無しさん@お腹いっぱい。
15/04/20 20:14:24.11 .net
>>105
カッコが英数字なら、URLリンク(github.com)をいれて、
内側のカッコのどこかにカーソルを合わせて、va(S)でいける。
カッコが日本語の場合はわからん。

108:名無しさん@お腹いっぱい。
15/04/20 21:09:11.81 .net
>>106
ありがとうございます。
残念ながら日本語の全角のカッコです…

109:名無しさん@お腹いっぱい。
15/04/20 21:25:24.75 .net
>>105
surround.vimで設定すればマニュアルより多少楽にはなるがなぁ

110:名無しさん@お腹いっぱい。
15/04/20 21:30:06.10 .net
>>104
わかんねえけど無いってことはほしい奴が少ないんだろうな
無きゃ作るしかねえべ

111:名無しさん@お腹いっぱい。
15/04/20 21:57:59.89 .net
>>108
一旦全部の全角カッコを半角カッコに置き換えてからやれば行けそうな気がしてきました。

112:靖国参拝、皇族、国旗国歌、神社神道を異常に嫌うカルト
15/04/20 22:18:11.68 .net
★マインドコントロールの手法★
・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法

偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い

10人に一人はカルトか外国人
「ガスライティング」で検索を!..

113:名無しさん@お腹いっぱい。
15/04/21 21:16:47.31 .net
☆ 日本の核武装は絶対に必須ですわ。☆
URLリンク(www.soumu.go.jp)
☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆

114:名無しさん@お腹いっぱい。
15/04/21 21:31:46.25 .net
技術立国自負するならクリーンな核でも作ってから言えやカス

115:名無しさん@お腹いっぱい。
15/04/22 08:02:08.66 .net
マルチに触れるなよ

116:名無しさん@お腹いっぱい。
15/04/22 10:01:23.75 .net
vimで:h O@enしたとき
O Begin a new line above the cursor and insert text,
repeat [count] times. {Vi: blank [count] screen
lines}
のメッセージの部分でhjklで移動してもカーソルの位置が飛び飛びになったり特定の位置で移動できなくなったりするのはなぜですか?
ターミナルのWindowのサイズを変更したり、スクロールして別の文章を表示してからまた上の文章を表示すると問題が治ります
gvimでは最初から問題がでませんでした

117:名無しさん@お腹いっぱい。
15/04/22 13:56:41.92 .net
>>115
移動できなくなる特定の位置ってのがどこを指すのかわからないけど、飛び飛びになるのはそこにスペースではなくてタブが入力されているから。
ターミナルのvimとgvimで設定が異なってるんじゃないかな。expandtab とか tabstop とか shiftwidth とかで検索して .vimrc や .gvimrc (だっけ?) と比較してみると分かると思う。

118:名無しさん@お腹いっぱい。
15/04/22 15:55:39.45 .net
タブで飛んでいる洋見に得ているのとは違う気がします
なんでこうなるのかわかりません
vim -N -u NONEで起動
1. :h O@enをした時
URLリンク(light.dotup.org)
2. hを押した時
URLリンク(light.dotup.org)
3. もう一回hを押した時
URLリンク(light.dotup.org)

119:名無しさん@お腹いっぱい。
15/04/22 15:56:19.13 .net
タブで飛んでいるように見えているのとは違う気がします

120:名無しさん@お腹いっぱい。
15/04/22 18:13:56.02 .net
>>118
:h O@en した直後の一行目は
[TAB][TAB][TAB][TAB][TAB][TAB][TAB][SPC]*O*
この一つ目の * の上にカーソルがあるのが本来のはず
1. :h O@enをした時 URLリンク(i.imgur.com)
2. hを押した時 URLリンク(i.imgur.com)
3. もう一回hを押した時 URLリンク(i.imgur.com)
>>118は行の表示がなぜか一行ズレてるっぽいね

121:名無しさん@お腹いっぱい。
15/04/22 18:49:45.44 .net
レンダリング綺麗やな。Mac?

122:名無しさん@お腹いっぱい。
15/04/22 21:03:26.66 .net
>>120
>>119はKDEです
フォントはDejaVu Sans Mono

123:名無しさん@お腹いっぱい。
15/04/23 12:25:57.44 .net
先輩方おしえてください!このvimは何をしているんでしょうか!?
URLリンク(google-styleguide.googlecode.com)

124:名無しさん@お腹いっぱい。
15/04/23 21:20:11.76 .net
>>122
URLリンク(google-styleguide.googlecode.com)

125:名無しさん@お腹いっぱい。
15/04/24 16:18:44.51 .net
特定のプラグインを編集中に無効にする方法ってありますか?
vim-smartchrとvim-smartinputが凄い便利で使ってるのですが、設定を駆使して
色々融通をきかせても、どうしてもこのケースでは無効化されていてほしい!
と思うことがあります。例えばFunctionKey一発で無効/有効をトグルできるように
したいです。

126:名無しさん@お腹いっぱい。
15/04/24 21:59:04.82 .net
>>123
とりあえずvimrcに書いときました

127:名無しさん@お腹いっぱい。
15/04/25 01:05:38.49 .net
ファイルを保存してない状態の更新した行の行番号の色って変更できないんですか?

128:名無しさん@お腹いっぱい。
15/04/25 03:24:37.94 .net
gitgutter あたりのやつで明示するぐらい?

129:名無しさん@お腹いっぱい。
15/04/25 05:59:59.30 .net
>>126
行番号じゃなくてsignだけど
URLリンク(github.com)

130:名無しさん@お腹いっぱい。
15/04/25 17:45:54.77 .net
smartcaseの挙動を/の検索パターンでは有効にして、
コマンド補完の時は無効にしたいんだけど、
目的が違うのになんでon/offだけの1つのオプションにまとまってるんだろう。
それぞれのモードに入ったら切り替えるようにしないといけないのかな。

131:名無しさん@お腹いっぱい。
15/04/25 19:21:03.73 .net
こういう書き方を見ました
set matchpairs& matchpairs=+=<:>
これって↓と違うんですか?
set matchpairs=+=<:>

132:名無しさん@お腹いっぱい。
15/04/25 21:37:13.50 .net
>>130
:h set-&

133:名無しさん@お腹いっぱい。
15/04/25 22:33:03.11 .net
なるほど
でもこれvimrcに書く時は最初から規定値になってるはずなので不要な記述の気がするんですが

134:名無しさん@お腹いっぱい。
15/04/25 23:01:42.17 .net
>>132
環境によっては/etc/vim/vimrcとかで変えられてる可能性があるからじゃねえかな

135:名無しさん@お腹いっぱい。
15/04/25 23:02:39.48 .net
>>132
あ、あとvimrcを再読み込みした時のため
au!もそのため

136:名無しさん@お腹いっぱい。
15/04/25 23:10:27.19 .net
matchpairsの場合は se matchpairs+=<:>を二回実行しても結果は変わらないぽい
ものによってどんどん追加されていくのもあるんだろうか

137:名無しさん@お腹いっぱい。
15/04/26 01:41:37.25 .net
+=で設定するオプションは全部&使ったほうがいいのかな

138:名無しさん@お腹いっぱい。
15/04/27 21:04:55.52 .net
LinuxMintにてvim-gnome使ってます
gvimで何か開かれるときに、新しいウィンドウではなく既存のgvimのウィンドウの新しいタブとして開かせることは.vimrcからは出来ないでしょうか?
ファイラーから日本語のテキストを開くたびにgvimのウィンドウが増えていって……

139:名無しさん@お腹いっぱい。
15/04/27 21:08:02.34 .net
>>137
gvim --remote-tab foo

140:名無しさん@お腹いっぱい。
15/04/27 21:34:47.37 .net
>>137
singleton.vim

141:名無しさん@お腹いっぱい。
15/04/27 22:15:45.84 .net
ありがとうございます
>>138
バックグラウンドタブに回されてしまいます……フォアグラウンドがいいです
>>139
入れてみました。起動時にE117とE477と大量のE488が出ます……utf8のunixです
あとこちらもバックです
もうちょっといじってみます

142:名無しさん@お腹いっぱい。
15/04/27 23:28:42.57 .net
>>140 LinuxMintのvimは、7.3以上かつ+clientserver付きなの?



144:名無しさん@お腹いっぱい。
15/04/27 23:57:32.16 .net
>>141
そのようです
サーバー立ち上げてませんでした吊ってきます

145:名無しさん@お腹いっぱい。
15/04/28 07:26:50.67 .net
お世話になります。
vimgrep で再帰検索をする場合、
:vimgrep /pattern/ **/*.ext | cw
等になるかと思いますが、
このとき特定のディレクトリだけを検索対象から再帰的に除外する方法はないでしょうか?
内部grepで無理なら外部grepでもかまいません。
よろしくお願いします。

146:名無しさん@お腹いっぱい。
15/04/29 06:11:46.11 .net
>>143
:vimgrep /pattern/ `find . -name '*.ext' -! -path './exclude/*'` | cw

147:名無しさん@お腹いっぱい。
15/04/29 07:59:42.00 .net
viを起動するとvimrcを読み込んでしまい大量のエラーメッセージが流れるんですがどうにかできませんか?

148:名無しさん@お腹いっぱい。
15/04/29 09:54:25.63 .net
guiをgtk2にしてconfigureしてインストールしたらgvimの背景が白で文字が黒なんですが
これはデフォルトでこういう色に設定されているんですか?
vimrcとgvimrcはからの状態です
たしか昔インストールしたときは黒背景だったのですが

149:名無しさん@お腹いっぱい。
15/04/29 11:50:42.42 .net
VundleとかNeoBundleなどのサンプルコードで
set rtp+=~/.vim/bundle/Vundle.vimと書いてあるのですが
vimrcを再読込したら重複するパスが存在するとおもうんです
いろんな人のvimrcみても+=で追加してるんですが問題ないのでしょうか?

150:名無しさん@お腹いっぱい。
15/04/29 12:59:30.27 .net
>>145-147
vimをアンインストールで解決

151:名無しさん@お腹いっぱい。
15/04/29 14:04:34.11 .net
>>147
"vimrc リローダブル"でググると幸せに

152:名無しさん@お腹いっぱい。
15/04/29 15:25:42.32 .net
検索したらrtpに一回しか登録されないことがわかりました
augroupなどは設定済みでした
後はマッピングでvimrcを読み込むようにしました
一つ解決できないことが見つかりました
set all&ですべての設定を規定値に戻せません
戻せなかったのはnumberです
set all&じゃnumberはnonumberにできないのでしょうか?

153:名無しさん@お腹いっぱい。
15/04/29 17:42:16.48 .net
我が家では set all& で nonumber になってるな
でも画面上のはCTRL-lしないと消えないね

154:名無しさん@お腹いっぱい。
15/04/29 17:57:17.09 .net
あ、なるほど
再描画コマンドをvimrcに書いたら思い通りになりました
これで完璧に初期化できました

155:名無しさん@お腹いっぱい。
15/04/29 18:25:50.45 .net
set all&
augroup vimrc
autocmd!
nnoremap <Space>s. :<C-u>source ~/.vim/vimrc<CR>
augroup END
colorscheme default
syntax enable
再描画入れてないんですがこの内容だけのvimrcをスペースs.押して再読み込みさせると
色が付かなくなってしまいました。再描画しても変化ありません。
set all&実行する前後の:set allの内容をチェックしてみましたが色とは関係なさそうな値が異なるだけでした
なぜですか?

156: ◆fkrTovHYGs
15/04/29 18:37:32.93 .net
自己レスなんですがsourceで読み込むとsyntax enableが効いてないような気がしました

157:名無しさん@お腹いっぱい。
15/04/29 20:55:50.75 .net
filetypeまで初期化してるからじゃないの

158: ◆fkrTovHYGs
15/04/29 22:14:55.07 .net
あ、ほんとだそのとおりでした
filetypeを設定しなおしたら色がつきました

159:名無しさん@お腹いっぱい。
15/04/30 19:58:11.53 .net
vimを起動した時にファイルタイプを変数fに記録して
:source vimrcしたときに変数fを使ってset filetypeしたいんですがうまくいきません
syntax on
if exists("g:f")
set filetype=g:f
else
let g:f = &ft
endif
vimを開いた後に自分で:echo &ftするとステータスバーの下にvimって出力されたのですが
let g:f = &ftするタイミングでファイルタイプの種類を取れてないのですがどうやって変数にセットできますか?

160:名無しさん@お腹いっぱい。
15/04/30 20:58:51.50 .net
>>144
ありがとうございましたm(__)m
非常に助かりました、完璧でした。
それにしてもどうしてこんな複雑な操作を熟知されてるのでしょう?
私からすると神様みたいです

161:名無しさん@お腹いっぱい。
15/04/30 21:00:52.78 .net
>>157
au FileType * let g:f = &ft
はどうや?

162:157 ◆MC7mIiSQ8g
15/04/30 21:09:36.20 .net
>>159
だめでしたg:fは空?でした

163:名無しさん@お腹いっぱい。
15/04/30 23:11:36.93 .net
>>160
そのvimrcでlet g:fしてるの消した?

164:名無しさん@お腹いっぱい。
15/04/30 23:19:09.27 .net
>>157
そもそもこれの目的はなに?
so ~/.vimrc してもftはリセットされないべ?

165:名無しさん@お腹いっぱい。
15/04/30 23:36:54.07 .net
vimrcでなんかおかしなことしてんじゃねの?

166:名無しさん@お腹いっぱい。
15/04/30 23:43:58.89 .net
ちんちんシコシコしてるの?

167:名無しさん@お腹いっぱい。
15/04/30 23:52:44.71 .net
>>158
vim って言うより find の使い方だねこれは。

168:157 ◆MC7mIiSQ8g
15/05/01 00:39:53.90 .net
>>161 消してあります。
syntax on
if exists("g:f")
set filetype=g:f
else
au FileType * let g:f = &ft
endif
このスクリプトで:source vimrcの後に:set filetypeするとfiletype=g:fと出力されました
>>162
vimrcリロード後にset all&でファイルタイプが消えるので再設定するためです
1版最初にvimを立ち上げた時にファイルタイプの値&ftが取得できなくて空の値をg:fに代入しているのかなとみています
>>163 vimrcの内容は>>157だけです
>>164
これからします

169:名無しさん@お腹いっぱい。
15/05/01 01:49:59.42 .net
>>166
そういうことか。やっとわかったわ
手元ではこれでいけた
.vimrc を source する前にカレントバッファのfiletypeを保存して、.vimrcの最後の方でそれを復元する
augroup Chinshiko
autocmd!
autocmd SourcePre .vimrc let g:f = &filetype
augroup END
let &filetype = get(g:, 'f', '')

170:157 ◆MC7mIiSQ8g
15/05/01 13:18:10.36 .net
>>16


171:7 できましたこれで完璧です 匿名ブログに完成コードを残しました http://anond.hatelabo.jp/20150501131712



172:名無しさん@お腹いっぱい。
15/05/01 16:00:37.19 .net
vimより先に人としての常識をお勉強しようね

173:名無しさん@お腹いっぱい。
15/05/01 18:29:25.98 .net
なんか問題あんの?

174:名無しさん@お腹いっぱい。
15/05/01 19:03:35.34 .net
RTFM!!!ってことだろ

175:名無しさん@お腹いっぱい。
15/05/04 00:00:48.55 .net
a = ["b", "c", "2"];
aの所にカーソルをおいてCTRL-aするとカーソルより後ろの数字(2)がインクリメントされるんですが
数字の所にカーソルがないのにインクリメントできる仕様なんですか?

176:名無しさん@お腹いっぱい。
15/05/04 00:02:25.21 .net
予期せぬところで数字が増えてそうでバグを生みそうで怖いんですが

177:名無しさん@お腹いっぱい。
15/05/04 07:20:01.68 .net
>>172
そういう仕様だと思う
どうしても気になるなら無効にするか、カーソル位置に数字がある場合だけ動作するように変更すべし

178:名無しさん@お腹いっぱい。
15/05/04 08:07:06.19 .net
>>172
まずマニュアル読もうぜ。
:h ctrl-a
Add [count] to the number or alphabetic character at or after the cursor.
‘after the cursor’って書いてあんだから仕様でしょ。
バグ云々については、バージョン管理してコミットする際に、
差分みて意図しない変更がないか確認すればいい。

179:名無しさん@お腹いっぱい。
15/05/04 08:47:14.81 .net
移動してくれたほうが色々と便利だぞ
マクロとか

180:名無しさん@お腹いっぱい。
15/05/05 00:53:50.00 .net
仕様ということで飲み込みます

181:名無しさん@お腹いっぱい。
15/05/06 22:20:39.02 .net
連休中にAtomとVSCodeに浮気してみたけどやっぱりVimだわ

182:名無しさん@お腹いっぱい。
15/05/06 23:28:28.98 .net
>>177
気に入らなければ挙動変えられるのがVimのいいところの一つだとは思うけどね

183:名無しさん@お腹いっぱい。
15/05/07 02:30:05.73 .net
electron版viクローンはよ

184:名無しさん@お腹いっぱい。
15/05/07 12:58:23.99 .net
gitで使うエディタにvimを使ってまして
let s = "a"
\ . "b"
この2行しか書いてないvimrcを用意しました
git rebase -i HEAD^^すると
E10: \ should be followed by /, ? or &
ってエラーが出てしまいrebaseができません。
\があるとどうもエラーになるようです。
vimrcの先頭にset nocpを書いたらE10は消えたんですが(vimrcを読み込んだ時点でnocpが設定されているものだと思うのでset nocpをする理由がよくわかってない)
今度はE319: Sorry, the command is not available in this version: let s = "a" . "b"
とエラーが出ました
set nocpじゃなくてset cpoptions-=Cを書いても同じエラが出ました
行を\で分けずに書けばエラーは出なくなるのですが他に解決策はありませんか?

185:名無しさん@お腹いっぱい。
15/05/07 13:14:23.80 .net
vim -u NONEで起動するようにgitconfigを設定して解決しました

186:名無しさん@お腹いっぱい。
15/05/07 15:07:59.88 .net
>>181-182
同じ症状を再現できなかった(E10は出せたけどrebaseは成功するしE319は出なかった)ので自信無いけど
「vi」で起動すると互換モードで動くという設定がシステム側でされてて
且つ、環境変数 EDITOR が vim じゃなくて vi とか……?
もしそうなら、ちゃんと vim を使うように設定すれば -u NONE は要らないと思う

187:名無しさん@お腹いっぱい。
15/05/07 17:18:24.92 .net
echo $EDITORで何も表示されなかったので観葉変数にvimを設定したらエラーがなくなりました
ありがとうございます

188:名無しさん@お腹いっぱい。
15/05/07 17:37:25.89 .net
viバインド互換をうたったブラウザアドオンとかファイラーとかあるけど
それぞれビミョーに手を加えてたり再現度に違いがあって切り替えたときとか混乱してやりづらいね

189:名無しさん@お腹いっぱい。
15/05/08 00:22:47.19 .net
>>185
それらは完全に同じではないもんな
あくまで "like" なだけで

190:名無しさん@お腹いっぱい。
15/05/08 00:24:04.71 .net
>>181
なんだろそれ
EDITOR=vim だし、.vimrc にバックスラッシュ含まれてるけどその現象は出てないわ

191:名無しさん@お腹いっぱい。
15/05/09 12:21:55.91 .net
viでvimrcを読みこんだから

192:名無しさん@お腹いっぱい。
15/05/12 21:55:38.39 .net
vimgrep a.txt b.txt
これで起動した時に左右にファイルの差分が表示されますが
このままvimgrepのモードを解除して左右に分割されたままファイルを編集作業に入りたいので
解除方法を教えてください

193:名無しさん@お腹いっぱい。
15/05/13 19:24:16.30 .net
>>189
:diffoff!
URLリンク(vim-jp.org)
vimgrep じゃなくて vimdiff ね

194:名無しさん@お腹いっぱい。
15/05/13 23:15:32.59 .net
>>190
解除できましたありがとうございます

195:名無しさん@お腹いっぱい。
15/05/15 10:13:46.58 .net
vim-commentaryってプラグインを使ってるんですが
autocmd FileType php set commentstring=#\ %s
filetype plugin indent on
これだとcommentstringの値を上書きできなくて、行を逆にすると上書き出来ました
filetype plugin indent on
autocmd FileType php set commentstring=#\ %s
なぜfiletype plugin indent onの後に書かないと上書きできないんですか?

196:名無しさん@お腹いっぱい。
15/05/15 12:31:32.31 .net
>>192
filetype plugin indent onの行でファイルタイプの判定を有効にしてからじゃないと、
FileTypeのイベントが発行イベントがしないんでしょ。

197:名無しさん@お腹いっぱい。
15/05/15 12:36:11.59 .net
途中で書き込んじゃったから書き直すわ。
>>192
filetype plugin indent onの行でファイルタイプの判定を有効にしてからじゃないと、
FileTypeのイベントが起きないから、autocmdが実行されないんでしょ。

198:名無しさん@お腹いっぱい。
15/05/15 14:16:18.80 .net
>>193-194
ということはfiletype plugin indent onより前のautocmdは無意味なのか検証してみました
autocmd FileType php setlocal tabstop=1 shiftwidth=1 softtabstop=1
autocmd FileType php set commentstring=#\ %s
filetype plugin indent on
インデントは1になりましたがcommentstringだけは上書きされません

199:名無しさん@お腹いっぱい。
15/05/15 15:35:27.35 .net
>>195
失礼。filetype plugin indent onの前でもFiletypeイベントは起きてるみたいだ。
時間がないので細かいことは調べられなかったけど、filetype plugin indent onをすると、
filetypeが決まる時にphp用のftpluginが呼ばれ、そこでcommentstringが上書きされてる。
tabstopなどはphp用ftpluginの中で記述されてないので、設定がそのまま残ってる。
ここら辺の設定の順番は俺じゃわからないから、誰か知ってる人がいたら教えて。

200:名無しさん@お腹いっぱい。
15/05/16 16:02:28.06 .net
ここの`URLリンク(github.com)'
`ftplugin-overrule'の項目によると$HOMEで書換える方法でも良いんじゃないかな。
がっつり単純に
setlocal commentstring=/*%s*/
って書いてあるし。
他にも`filetype-plugin-off'の項目によると、『ファイル形式の検出自体は無効にならない。』
とか書いてある。

201:名無しさん@お腹いっぱい。
15/05/16 16:09:52.58 .net
ん、板のtopとスレッドの中で`'の扱いが違う。

202:名無しさん@お腹いっぱい。
15/05/16 23:18:17.45 .net
>>196-198
解説ありがとうございます。
この領域の内容は難しすぎて僕にはついけいけないようです。

203:名無しさん@お腹いっぱい。
15/05/17 02:56:03.15 .net
うそーん。絶対あなたのほうが詳しいと思う。
packageを作った人によって多少の名前の違いはあるかもしれないけどそこは勘で分ると思います。
例えばvimのversionが7.3だっとして/usrにinstallされていたら
/usr/share/vim73/ftplugin というdirectoryの中に「php.vim」と「html.vim」というfileが
あるからそれを$HOME/.vim/ftplugin というdirectoryを作ってその中に複製して入れる。
その複製したphp.vim fileの中に
setlocal commentstring=/*%s*/
という場所が下の方にあるから、その上と下に分を付け足して最終的に以下のようにします。
if ! did_filetype ()
setlocal commentstring=/*%s*/
endif
その複製したhtml.vim fileの中に
setlocal commentstring=<!--%s-->
という場所が上の方にあるから、その上と下に分を付け足して最終的に以下のようにします。
if ! did_filetype ()
setlocal commentstring=<!--%s-->
endif
一応これで以下の設定で動いています。何となくsetlocalにしときました。
autocmd FileType php setlocal commentstring=#\ %s
filetype plugin indent on

204:名無しさん@お腹いっぱい。
15/05/17 03:26:03.08 .net
ごめんそっかそっか、上の方法だと他にも何か設定してる時に悪影響あったりしそうな感じもする。
一番簡単なのはphp.vimのfileのsetlocalの値を書換えるだけなのだけれども。
その時はそうするか、偉い人のアドバイスを待って。寝ます。

205:名無しさん@お腹いっぱい。
15/05/21 12:17:43.59 .net
既に開いたファイルと差分を取る方法を教えてください

206:名無しさん@お腹いっぱい。
15/05/21 13:17:21.46 .net
>>202
:h :diffsplit

207:名無しさん@お腹いっぱい。
15/05/21 13:45:12.45 .net
vi並の低機能サクサクvimをビルドしようとするとどれくらい近くなるの?
やったことあるひといる?

208:名無しさん@お腹いっぱい。
15/05/21 14:49:02.84 .net
>>204
その行為に意味があると思えない
viが使いたければviを入れれば済むし

209:名無しさん@お腹いっぱい。
15/05/21 15:42:52.83 .net
あるソフトからvim呼び出すときスワップ作りたくないんでgvim --noswapfile -"%f"って書いたんだけど"未知のオプション引数です"と言われます
とりあえず開いてから:set noswapfileってすれば効くみたいなんだけど……なんででしょ
>>204
vim-tinyでもあかんのかね?

210:名無しさん@お腹いっぱい。
15/05/21 15:49:37.08 .net
マッピングされているキー一覧を取得する方法ありませんか?

211:名無しさん@お腹いっぱい。
15/05/21 18:02:18.06 .net
>>206
:h -vim
:h -c
gvim +"set noswapfile" 〜

212:名無しさん@お腹いっぱい。
15/05/21 18:20:21.24 .net
>>207
普通に :map とか?
:h :map_l
してジャンプした先の上15行を読んでみて

213:名無しさん@お腹いっぱい。
15/05/21 21:29:26.69 .net
久し振りにWin系のエディタ触ったら操作完璧に忘れてた
一文字後ろ削除ってなんだっけ?とx押したら行切り取りされて更にビビった

214:名無しさん@お腹いっぱい。
15/05/22 09:31:56.85 .net
autocmd FileType
\ a,b,c,d,e,f,g,h,i,vim,python,ruby,cpp,html
1文字と特定のファイルタイプだけ色がつくんですがなぜですか?
cppとかhtmlは色はついてません

215:名無しさん@お腹いっぱい。
15/05/22 10:28:31.38 .net
4行のvimrc
filetype plugin indent on
set list
colorscheme blue
autocmd FileType javascript setlocal nolist
javascriptのファイルを開いてタブ文字を入れて
:sources ~/.vimrc
こうするとautocmdのnolistが効いてないんですがどうしてですか?

216:名無しさん@お腹いっぱい。
15/05/22 11:06:58.93 .net
>>212
autocmd FileType はバッファに読み込んだファイルの filetype が設定された時に実行されるコマンドだからじゃない?
:source ~/.vimrc を読み込んでも、元々バッファに読み込んであった javascript ファイルはそのままだから、filetype を再設定しないんじゃないかな。

217:名無しさん@お腹いっぱい。
15/05/22 23:55:02.32 .net
URLリンク(vim-jp.org)
vim歴浅いからよくわからないんですけど
|SourcePre| Vimスクリプトを読み込む前
|SourceCmd| Vimスクリプトを読み込む前 |Cmd-event|
これってどっちも同じ機能ってことですか?それともtypoですか?

218:名無しさん@お腹いっぱい。
15/05/23 06:22:27.58 .net
>>211
それを一行にまとめて書く(バックスラッシュ除く)と、a 以降まったく色がつかない
その部分に色がつくことは本来は無いようだ
だがバックスラッシュで行継続すると
Vimはそれが「"FileType" に続く内容」であると認識できず、別の構文と解釈して色をつけてしまう
具体的にはExコマンドとみなして色付けしている模様
a (appendの略)、b (bufferの略)、c (changeの略)……
また python や ruby もコマンドとして存在する(:h :python 及び :h :ruby 参照)
けど cpp や html という名前のコマンドは存在しないからそれらには色がついていない、という事みたい

219:212
15/05/24 21:0


220:2:29.72 .net



221:名無しさん@お腹いっぱい。
15/05/24 22:31:35.55 .net
>>216
autocmd SourcePre *.js setlocal nolist は source するファイルが vim の設定ファイルじゃないからかな

222:名無しさん@お腹いっぱい。
15/05/25 00:36:38.25 .net
>>216
それをやるなら普通は
au BufRead,BufNewFile *.js setl nolist
とかこんな感じ

223:212
15/05/25 01:30:41.52 .net
>>217
最初に戻ってFileTypeイベントを使って目指できるようにダイアログを表示してみました
autocmd FileType javascript :!zenity --info
これを書くと、ファイル開いた時とsource ~/.vimrcしたとき両方ともダイアログが表示されました
イベントは発火されていました。
ってことはautocmd FileType javascript setlocal nolistでも発火しているはずなんですが、
setlocalが効いてないのがどうしてなのかわかりません。
>>218
:source ~/.vimrcした時にイベントが発火しませんでした


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

287日前に更新/228 KB
担当:undef