GUI環境でテキストを自在に操作する
以下、二つのテキストファイルを開いている環境において、テキスト操作の方法いろいろ。(テキストエディット.appを使用)
- folder_1.txt
applications folder desktop documents folder
- folder_2.txt
アプリケーションフォルダ デスクトップ 書類フォルダ
テキストを縦に繋げる(文章末に挿入する)
applications folder desktop documents folder アプリケーションフォルダ デスクトップ 書類フォルダ
- folder_2.txt全体を、すべて選択してコピー、
- folder_1.txtの先頭にペースト。
コマンドだと...
$ cat folder_1.txt folder_2.txt
applications folder
desktop
documents folder
アプリケーションフォルダ
デスクトップ
書類フォルダ
テキストを横に繋げる(行ごとに挿入する)
applications folderアプリケーションフォルダ desktopデスクトップ documents folder書類フォルダ
- folder_2.txt全体を、optionキーを押しながら(文字カーソルが十字になる)マウスで範囲選択してコピー、
- folder_1.txtの1行目の行末にペースト。
applications folder アプリケーションフォルダ desktop デスクトップ documents folder 書類フォルダ
- 新規テキスト書類を作成して、適当なスペースで満たされた3行を追記する。
- folder_1.txt全体を、optionキーを押しながら(文字カーソルが十字になる)マウスで範囲選択してコピー、
- 新規テキスト書類の先頭にペースト。
- folder_2.txt全体を、optionキーを押しながら(文字カーソルが十字になる)マウスで範囲選択してコピー、
- 新規テキスト書類の1行目のapplications folder に続けてペースト。
コマンドだと...
$ paste folder_1.txt folder_2.txt
applications folder アプリケーションフォルダ
desktop デスクトップ
documents folder 書類フォルダ
- タブで区切られて、横に繋がった。
テキストをクリックする操作
- クリック
-
- クリックした位置にテキストカーソルを移動する。
- ダブルクリック
-
- クリックした位置の単語を選択する。
- トリプルクリック
-
- クリックした位置の1行全体を選択する。
- shiftキーを押しながらクリック
-
- 直前の文字カーソル位置から、shift-クリックした位置まで選択する。
- 直前のカーソル位置がダブルクリックで単語選択されていると、shift-クリックした位置の単語まで選択される。(便利!!)
適当なスペースで満たされた行を素早く作成するには...
- 1行目に40個のスペースを入力して改行。
- 1行目をトリプルクリックして、コピー。
- 2行目をクリックして、ペーストを必要なだけ繰り返すと、素早くスペースで満たされたテキストが出来上がる。
任意の列だけ抽出する
- ブログに記載されたコード中のプロンプトマーク"$"や行番号を邪魔に感じることもある。
- code.txt
$ sudo port selfupdate $ sudo port install rtmpdump $ sudo port install ffmpeg
- 有効なコマンド部分だけコピーしたい場合は...
- ブラウザではoptionキーを押しながらマウスで範囲選択が利かないので、一旦テキストエディタにコード全体をコピーする。
- その後、欲しい範囲をoptionキーを押しながらマウスで範囲選択してコピーすればOK。(テキストを横に繋げるのと同じ要領)
sudo port selfupdate sudo port install rtmpdump sudo port install ffmpeg
コマンドだと...
$ cut -d' ' -f2- code.txt sudo port selfupdate sudo port install rtmpdump sudo port install ffmpeg
置き換え
- command-Fで検索ウィンドウを表示すれば、文字列の置き換えもできる。
- 単語を選択してcommand-Eすると、検索文字列にその単語が設定される。
- 置換文字列を空欄にすれば、条件に一致した文字列の削除もできる。
- 上記のプロンプトマークの例なら、検索文字列に"$ "、置換文字列を空欄にして、すべて置き換えを実行すると"$ "が消えた。
sudo port selfupdate sudo port install rtmpdump sudo port install ffmpeg
コマンドだと...
$ sed 's/$ //' code.txt sudo port selfupdate sudo port install rtmpdump sudo port install ffmpeg
正規表現による検索
- テキストエディット.appによる置き換えでは、文字列の部分一致・前方一致・完全一致しか検索条件を設定できない。
- しかし、一般的な文字列だけでは実現できない検索処理をしたい欲求も、いずれ湧いてくる。
- 例:folder_1.txtの各行の先頭に-記号を挿入したいとか。(はてな記法でリスト扱いになる)
- そんな時、正規表現検索が可能なCotEditor.appがあると、欲求はかなり満たされる。
- 例:検索:^、置換:-、一括置換ボタンを押して完了。素晴らしい満足感を得られる。
-applications folder -desktop -documents folder
コマンドだと...
$ sed 's/^/-/' folder_1.txt
-applications folder
-desktop
-documents folder
任意の行だけ抽出する
- grepに対応するGUI操作がないなと思っていたら、表計算ソフトウェアを使えば良いと思い付いた。(NeoOfficeを利用した)
- 例:folder_1.txtについて「folder」を含む行だけ抽出する。
applications folder documents folder
コマンドだと...
$ grep 'folder' folder_1.txt
applications folder
documents folder
ターミナル
- optionキーを押しながらマウスで範囲選択は、ターミナルでも利用できる。
- optionキーを押しながらクリックで、クリックした位置にカーソル移動。(コマンド入力行で)
また、ターミナルで特に便利を感じる操作...(テキストエディットおよびCocoa系テキスト編集環境でも有効なキー操作)
- control-A・control-E
- 行頭・行末へカーソル移動
- control-K・control-Y
- カーソル位置から行末までカット・ペースト
- control-H・control-D
- カーソル左側の1文字を削除・カーソル右側の1文字を削除