vim Part 6 [sc](★0)
-
- 1
- 2015/01/13(火) 13:05:45.21
-
主にWindows環境でのVimについてのスレッドです。
本家: http://www.vim.org/
Windows版バイナリ配布: http://www.kaoriya.net/
vim-jp: http://vim-jp.org/
VimWiki: http://vimwiki.net/
ctags 日本語対応版: http://hp.vector.co.jp/authors/VA025040/
名無しのVIM使い(スクリプト) http://nanasi.jp
spanish passion Linux(全オプション) http://www15.ocn.ne.jp/~tusr/
ずんWiki http://www.kawaz.jp/pukiwiki/?vim
関連リンク
UNIX板 Vim Part22: http://peace.2ch.net/test/read.cgi/unix/1365071542/
MacVim 再び: http://anago.2ch.net/test/read.cgi/mac/1133534694/
前スレ vim Part 5: http://anago.2ch.net/test/read.cgi/software/1379912425/
-
- 828
- 2018/10/24(水) 17:11:24.99
-
06'17 Mastering Bash
06'11 GNU Octave Beginner's Guide
10'15 LaTeX Cookbook
08'16 Unreal Engine: Game Development from A to Z
02'12 gnuplot Cookbook
09'12 Blender Game Engine: Beginner's Guide
08'14 Blender 3D Basics Beginner's Guide Second Edition
06'13 SDL Game Development
らの行を選択して、ソーティングしたいとします。但し左の数字列は 出版月'出版年 です
時系列で降順ソートにしたいです。同じ出版年月の本内の順序は問いません
Bashだと
sort --field-separator=\' -n -r --key=2,1
でできました
Vimだとどうやるのか、ちょっとうまくいきません
-
- 829
- 2018/10/24(水) 19:22:31.95
-
>>828
同じじゃない?
1) カーソルが一番上にある状態で Shift-v でビジュアルモードに入り、G で最終行まで選択して反転させる
2) : (セミコロン) でコマンド入力 (実際には :’<,’> と表示される) モードになるので続けて !sort <オプション> を実行
実際には以下のようになる
:’<,’>!sort ―field-separator=¥’ -n -r ―key=2,1
それともOS (shell?) コマンドの !sort じゃなくてvim内蔵の sort でやりたいけどできないってこと?
-
- 830
- 2018/10/24(水) 19:51:07.75
-
全ての行が対象なら:%使った方が早い
-
- 831
- 2018/10/25(木) 14:12:09.36
-
!は先頭か末尾かで意味変わるのかよ・・・
連番挿入ってひょっとしてvimで!seqした方が手っ取り早いのか?
-
- 832
- 2018/10/25(木) 15:40:44.63
-
ぐへへ
let Sort_by={list,fn -> sort(list,{a,b -> fn(a) > fn(b) ? 1 : -1 })}
let Target={line->substitute(line,"^\\(\\d\\d\\)'\\(\\d\\d\\)",'\2\1',"i")}
call setline(1,Sort_by(getline(1,'$'),Target))
-
- 833
- 2018/10/25(木) 17:17:04.84
-
これでどうやろ
久しぶりに書いたんで自信ないけど
command! -nargs=* -range=% -bang Sortby call s:Sortby("<bang>",<line1>,<line2>,<f-args>)
function! s:Sortby(bang,line1,line2,pattern,replace)
let l:Target={string -> substitute(string,a:pattern,a:replace,"i")}
let l:Sort_by={list,fn -> sort(list,{a,b -> fn(a) > fn(b) ? 1 : -1 })}
call setline(a:line1,l:Sort_by(getline(a:line1,a:line2),l:Target))
endfunction
例
:Sortby ^\(\d\d\)'\(\d\d\) \2\1
-
- 834
- 2018/10/25(木) 17:17:44.29
-
あ bangで反対ソートにするつもりだったけどやり忘れた
-
- 835
- 2018/10/25(木) 18:36:15.79
-
100とかくらいまでなら、試してないけど
100i1<cr>ggVGg<c-a>
とかでいけるんじゃないかね
-
- 836
- 2018/11/03(土) 10:34:41.18
-
行の最初に挿入か置換するのどうするの?
0で行の最初にカーソル持ってきてPを押すと2文字目にペーストされてしまう
-
- 837
- 2018/11/03(土) 11:00:33.53
-
>>836
挿入ならI置換なら^
左側にペーストってあったっけ?
挿入してレジスタペーストかな?
-
- 838
- 2018/11/03(土) 11:33:45.24
-
>>836
pが右、Pが左
-
- 840
- 2018/12/14(金) 10:39:55.81
-
コマンドラインモードで範囲内の文字列の切り取りとペーストを一度に行いたいです。
例えば
:3,7何とか
とすると、「3行目から7行目までが削除され、かつカーソル位置にペースト」
できれば嬉しいのですが、方法は有るでしょうか?
削除が必要なければ t を使えばいいのですが。
vim のデフォルトの機能でお願いします。
-
- 841
- 2018/12/14(金) 12:29:42.87
-
>>840
3,7m.
でいいじゃん?
-
- 842
- 2018/12/15(土) 10:09:00.39
-
>>840
何をしたいのかいまいちよくわからん
-
- 844
- 2018/12/15(土) 22:36:26.33
-
>>843
:h :index
exコマンド数600個近くあるけどな!
-
- 845
- 2018/12/16(日) 02:50:07.86
-
vimはシェルみたいに入力補完できるから:hの後にTab連打すれば一応コマンド一覧は出せる
:h hならh開始、、:h wqならwq関連、:h CTならCtrl関連と頭出しもできる
同じ操作系列の抽出?知らない子ですね・・・
-
- 847
- 2018/12/18(火) 23:59:08.33
-
vimのコマンドは大量だけどちょっと覚えればいいのがいい
込み入った作業だと結局ググらにゃならんが
-
- 848
- 2018/12/21(金) 05:55:00.21
-
検索とか置換とか基本機能のショートカットくらい表示しても罰は当たらないのでは?
nanoは色々残念だし
-
- 849
- 2018/12/21(金) 14:42:13.65
-
エディタにあまり多くを求めない生き方もありだよ
本当はnanoで十分な人多いんじゃないの
-
- 850
- 2018/12/21(金) 15:08:37.62
-
それでもvimを使いたいんだ!
だって便利だしかっこいいだろ?(感情論)
-
- 851
- 2018/12/21(金) 19:24:43.77
-
>>848
vim-cheatsheet を使ってみるとか
-
- 852
- 2018/12/23(日) 05:10:49.76
-
マクロやマークは何それ状態だな
レジスタ操作もクリップボードと共有してclipman使ってるしな
なまじ独自のクリップボードを持ってるからvim以外でコピペ出来ないとか初見殺しも大概にせえよ
-
- 853
- 2018/12/24(月) 10:23:18.37
-
確かに初めてコピーしようとしたときは困った
-
- 854
- 2019/01/14(月) 23:56:36.81
-
4kディスプレイにしてwindows10でスケーリングしたら
日本語フォントが重なって表示されるようになってしまった
どこの設定変えたらいいのかわからない
-
- 855
- 2019/01/21(月) 13:52:53.56
-
スケーリングを100に戻して4kを捨てて無意味さをレビューで広める
Windowsのスケーリングを100以上にして使うと色んなソフトでレイアウトが崩れる
UIは100で作ってる人が多いので考慮してないからだろう、Winのスケーリング自体がヘボなのもある
-
- 856
- 2019/01/22(火) 01:16:07.56
-
いろいろやってたらいつの間にかちゃんと表示されるようになった
何が違うのかわからんけど面倒だからもういいや
vimに限らずwindowsのスケーリングほんとくそだわ
-
- 857
- 2019/01/22(火) 15:47:25.06
-
分かったのでツイッターにでも書いてください
-
- 858
- 2019/01/24(木) 07:28:56.28
-
使い始めて3ヶ月くらいの初心者です。
ゆっくりではありますが、テキストオブジェクト?の扱いにもようやく慣れてきて、他のエディタで編集するよりはサクサクと動かせるようにはなってきた状態です。
今の所プラグインは一切手を出していない状態なのですが、「これはほぼ必須」というような定番のプラグインなどはあるのでしょうか。
言語などにもよるとは思うのですが、汎用的で、いろんな言語で扱えるような、便利な定番プラグイン等がありましたら、ぜひ教えていただきたいです。
-
- 859
- 2019/01/24(木) 08:43:54.83
-
>>858
やめとけ
今困っていることがあってそれが何のデメリットもなしに
解決できる夢のようなプラグインがあると知った時にのみ検討すべき
いじればいじるほど汎用性がなくなり動作が怪しくなり煩わしくなっていくのがエディタというもの
-
- 860
- 2019/01/24(木) 08:57:03.38
-
>>858
vim-surround
括弧で囲むオペレータを追加する。これだけはなぜ本体に同等の機能がないのか不思議に思うレベル
-
- 861
- 858
- 2019/01/24(木) 09:43:34.64
-
>>859
なるほどー。確かに今特別に困っていることは無いです。
最初の目標として、プラグイン無しの状態である程度使いこなせるようになったら、何か導入しようと考えていたのですが、
考え方としては間違っていなかったようで安心しました。ありがとうございます。
vimについて調べていると、入門向けの記事と銘打っていても、プラグインを入れているという記事が結構出てくるので、
最初から使ってしまうとvim本体の機能なのか、プラグインの機能なのか分からなくなるのではないかと、疑問に思っていました。
>>860
調べてみた感じだと、確かにこれはデフォルトであってもよさそうな便利な機能ですね。
言語等選ばず使えるプラグインだと思いますので導入させていただきます。
ひとまず>>860さんのプラグインのみ導入して、もう少し基礎的な部分も含めてしっかりと使いこなせるようになりたいと思います。
お二方ともありがとうございました。
また何かありましたら質問させてください。
-
- 862
- 2019/01/24(木) 09:57:40.34
-
>>861
プラグインを管理するプラグインは遅かれ早かれ通る道だから入れてもいいんじゃね
vim8標準の使ってもいいけど
自分はこれ使ってる
https://github.com/junegunn/vim-plug/
-
- 864
- 2019/01/24(木) 20:58:05.75
-
https://qiita.com/nil2/items/ddcf23f1163d0abd805b
この界隈っていつも数だけは一丁前だよな
プラグイン管理の設定自体が煩雑化する徹底っぷり
neobundle.vim
vimdoc-ja
vim-auto-save
vim-sensible
vsession
さして使わんからこの程度
後ヘルプの引き方も覚えるのが吉
.vimrcにこれを追記すればKを押した位置の文字でキーワード検索できるから
set keywordprg=:help
-
- 865
- 2019/01/25(金) 04:58:52.34
-
正確には
autocmd FileType vim,help setl keywordprg=:help
-
- 866
- 2019/01/25(金) 08:33:54.48
-
自分もいろいろプラグイン入れてきたけど、結局使うことが無くなりほとんど消した。
いま残っているのは tlist と自作のプラグインが数種。
-
- 867
- 2019/02/06(水) 20:17:44.80
-
久しぶりにプラグインを入れようとすると、
自分がどのプラグイン管理を使ってたのか思い出せない
-
- 868
- 2019/02/11(月) 11:43:52.71
-
7.4から8.1にしたらちょっとフォントきれいになった気がする。
こんなことあるのか
-
- 869
- 2019/02/11(月) 12:45:21.92
-
そのうちプラグイン管理プラグインを管理するプラグインが出てくるね
-
- 870
- 2019/02/11(月) 12:56:37.09
-
>>869
既存のプラグイン管理プラグインでもプラグイン管理プラグインを管理できると思うが
-
- 871
- 2019/02/11(月) 14:09:38.84
-
既存のプラグイン管理プラグイン管理プラグインがおかしい時
プラグイン管理プラグイン管理プラグインを自力で修正して
プラグイン管理プラグインでアップデートすると
プラグイン管理プラグイン管理プラグインが元の木阿弥になってしまう
あんまり多段にしないほうがいい
-
- 872
- 2019/02/11(月) 16:00:13.25
-
コールバック関数の括弧みたいにプラグイン管理するのやめてください
-
- 873
- 2019/02/11(月) 22:51:21.31
-
管理プラグイン1つ使って、細かいことしたくなったら自前の薄いラッパー書くのが楽
-
- 874
- 2019/02/11(月) 23:43:22.67
-
>>868
Windows版 gVim ならフォントレンダリング関連の改善入ってたと思うよ
フルカラー絵文字対応とかも
たしか日本の方々によるパッチだったはず
-
- 875
- 2019/02/12(火) 04:55:49.84
-
snap flatpak appimage nix linuxbrew
考えたら汎用パッケージ管理からしてご覧の有り様だった
その内atoolみたいなの出そうだな
-
- 876
- 2019/02/16(土) 02:07:12.12
-
Pluginフォルダにgit cloneしてきたのそのまま放り込めば動くんだから、重くて遅延ロードする必要性が無い人にはおすすめしない
-
- 877
- 2019/03/18(月) 04:05:58.23
-
Align.vim プラグインについて質問です。
2つ以上の異なる文字を同じセパレータとみなして Align することはできますか?
たとえば、
foo [ bar
, baz ]
この2行の文字列に対して、文字 '[' と 文字 ',' を同じセパラレータとみなして Align を施し、
2行目の',' の前に4文字分の空白を挿入して、'[' と ',' の位置を揃えたいです。
-
- 878
- 2019/03/18(月) 05:06:46.73
-
Align.vimは分からんけどvim-aligntaなら
Align -R ,\|[
-
- 879
- 2019/03/18(月) 08:10:24.78
-
>>877
空白区切りで複数指定
:Align [ ,
正規表現として解釈されるので
:Align [[,]
とかでもok
このページを共有する