はてなキーワード: キーバインドとは
01. ハンドルネームは?
03. xyzzyについて何かwebサイトを持っていますか?
持っていません
0.2.2.253
15年くらい
昔のことすぎて忘れましたが、学校の UNIX 演習で Emacs を使っていたので、Windows でも使おうと思っていて見つけたんだと思います
07. xyzzy 以外に使っているテキストエディタはありますか?
Atom, McEditor
08. xyzzy を使う前に Emacs 系のテキストエディタを使ったことはありますか?
プログラムを書いたり設定ファイルをいじったり、テキストに関することならだいたい
10. xyzzy が関連付けされているファイルタイプは何ですか?
txt, md, log, ini, bat, html, xml, css, less, scss, sass, styl, js, coffee, pl, php, py, rb, java, sql ほかにもあるかも
11. xyzzy を他人に勧めたことはありますか? また、結果はどうでしたか?
使い始めた当時同級生が何人か使っていました
12. xyzzy がフリーじゃなかったとしたらいくら位の値段になると思いますか?
今なら3000円くらいなら買う
じじー
14. xyzzy の好きな点・嫌いな点はどこですか?
嫌いな点:動作をカスタマイズするときに不自由なところがある点
15. パソコンを立ち上げている時間の内、xyzzy をどのくらい使っていますか?
16. キーバインドは Windows風ですか? Emacs風ですか? オリジナルですか?
17. .xyzzyに書く派ですか? .siteinitに書く派ですか?
必要に応じてそれぞれに
してます
実際にさわりながら。Lisp は Google 先生さまさま
22. xyzzy を使うにあたって一番苦労したことは何ですか?
xyzzy 自体の Lisp API がマニュアル化されていないところ
23. xyzzy を使って目からウロコだった機能は何ですか?
Buffer Menu
24. 今の xyzzy に望むことはありますか? またそれは何ですか?
矩形機能に影響が出そうだけどプロポーショナルフォントへの対応と、絵文字など最近 Unicode に追加された文字への対応
26. Lisp のほかに読み書きできるプログラム言語はありますか?
JavaScript, ES 2016, Coffee Script, Action Script 3, C, C++のごく一部, Objective-C, Rust, Swift, Perl, PHP, Python, Ruby, bash, xyzzy lisp
28. 拡張Lisp で導入しているものは何ですか? (多い方は代表的なものをお答えください)
clickable-uri, jscript-mode, markdown-mode など
29. これは外せない! という 拡張Lisp はありますか? またそれは何ですか?
30. NetInstaller を利用していますか?
31. 拡張DLL を導入していますか? またそれは何ですか?
popup-dododo のための Cairo とか?
32. ドキュメント(info,reference等) は使っていますか? また、それは何ですか?
使っていません。自分で改造してキーワードを全部 Web で検索するようにしています
33. ネット関係の 拡張Lisp(www-mode,kamail等)を使っていますか?
xyttr
34. アウトライン系のLispは使っていますか? またそれは何ですか?
使っていません
35. メモ系(changelog-memo,howm等)Lispは使っていますか? またそれは何ですか?
使っていません
36. xyzzy の五目並べはやったことがありますか? また、結果はどうでしたか?
たまに。テキストの整形処理なら正規表現でゴリゴリやるほうが多いです
使っていません。国語、英和・和英、英英辞典は iPhone のアプリを使います
毎日の仕事に欠かせません。便利にカスタマイズしすぎてむしろファイラだけのために新しく xyzzy 自体を起動することもあります
あまり使いません。新しく(Windows における)ウィンドウ
使っていません
42. メーリングリストには参加していますか? また、メールを送信したことはありますか?
ありません
43. 2ch の xyzzy 関連スレッドに書き込みをしたことはありますか? また、その頻度はどのらいですか?
大昔にどうしてもわからないことがあって書き込んだ記憶があります
44. xyzzywikiに書き込みをしたことはありますか? また、その頻度はどのくらいですか?
たまにほしくなるので表示しています
隠しています
47. xyzzy のファンクションバーは表示していますか?
表示していません
表示していません
49. 色、フォントなどは変更していますか? またそれは何ですか?
色は暗い背景色、ハイライトカラーはできるだけ色相を離したパステルカラーです。
フォントは Consolas に源新ゴシック Regular を組み合わせています。
まだまだ xyzzy は不滅です
まず思いついたのが「コマンド名がvimだったらVim、viだったらvi」だったけど、
「alias vim=vi、あるいはalias vi=vimされていたら分からないのでは?」
と気付いたので駄目。
次に思いついたのが「色ついてたらVim。ついてなければvi」だけど、
「一々色付きそうなファイル開いて確認してたら瞬時とは言えないのでは?」
と気付いたのでこれも駄目。
その後に思いついたのが「ggで一番上の行飛べたらVim、飛べなかったらvi」しかしこれも、
「exrcでggに1Gをmapしてたら分からないのでは?」、
「viが改造されててggで飛べたりしたら分からないのでは?catにPOSIXに無いオプションがあるように、viにPOSIXに無いキーバインドが追加されててもおかしくないのでは?」、
と思ったのでこれまた駄目。
うーん……。
Dota2には、Pingingという他プレイヤーへの警告手段が用意されている。
http://dota2.gamepedia.com/Minimap
俺が使ってるBlackwidow Ultimate 2014にはスペースキーの左右両側にaltキーが隣接している。
しかし、右側だけが有効になっており、左側は押しても認識されない。
スペースキーの右側はとっさに押すことができない。
そのため、左側のaltキーを使いたい。
俺は左側のaltキーが無効になっているのはキーボードのドライバが日本語対応になっているからだと考えた。
デバイスマネージャーからドライバを英語配列用に変えようとしたがインストールができない。
http://www.vector.co.jp/soft/winnt/util/se394832.html?ds
これを使うと、キーボードの刻印通りに文字が打てるようになった。
仮にこれで左altが有効になったとしても、英語配列だと半角、全角の切り替えが出来ない。
結局、razer synapseを使って左altのキーバインドを変更する方法を取るしかないようだ。
追記:
左altに右altを割り当てる。
(Qiitaのほうに2019年版があるので今はそちらを…。こちらは2015年版な感じです。)
Vimの外でもVim風の操作ができたりするのは彼らのおかげだ。
デフォルト、オプション、プラグイン、アドオン、様々な手段で提供されている。
Vimを使っている人でも使うかどうかは人それぞれだし、
どの程度Vimを再現できているのかも実装によってまちまちなのだが、
なんだかんだで有名どころのテキストエディタや統合開発環境では何らかの形で提供されることが多くなったように思う。
(一覧に無いものは私が知らないか忘れているだけなので、実際にはまだあると思う)
統合開発環境 | 名称 |
---|---|
Visual Studio | VsVim |
Xcode | XVim |
Eclipse | Vrapper |
NetBeans | jVi |
IntelliJ IDEA | IdeaVim |
MonoDevelop | Vi Mode |
Qt Creator | FakeVim |
テキストエディタ | 名称 |
Emacs | VIP |
Emacs | Viper |
Emacs | Evil |
Atom | Vim mode |
Atom | vim-mode-plus |
Sublime Text | Vintage |
Sublime Text | Vintageous |
Brackets | vimderbar |
Visual Studio Code | Vim |
Light Table | Vim |
ブラウザ | 名称 |
---|---|
Firefox | Vimperator |
Firefox | VimFx |
Firefox | Vimium |
Chrome | Vimium |
Chrome | Vrome |
Chrome | Vichrome |
Chrome | cVim |
Opera | VimOperate |
Opera | wasavi |
Safari | sVim |
Safari | vimari |
いくつかのコマンドでも。
コマンド | 分類 |
---|---|
bash | シェル |
zsh | シェル |
ksh | シェル |
tcsh | シェル |
yash | シェル |
tig | gitインターフェース |
less | ページャー |
cgdb | デバッガ |
LuaKit | Webブラウザ |
名称 | 操作 |
---|---|
jkで前後の項目に移動 | |
TweetDeck | jkで前後の項目に移動 |
jkで前後の項目に移動 | |
Google+ | jkで前後の項目に移動 |
Tumblr | jkで前後の項目に移動 |
GitHub | jkで前後の項目に移動 |
jkで前後の項目に移動 | |
Pixiv(複数投稿) | jkで前後の絵に移動 |
ニコニコ静画(漫画) | jkでスクロール |
ニコニコ静画(電子書籍) | hjklで前後のページに移動(wasdでも可) |
はてなブックマーク | jkで前後の項目に移動 |
ゲームも。
名称 | 操作 |
---|---|
nethack | hjklで上下左右に移動(yubnで斜め移動) |
> viのhjklは先行する何かの影響で実装された記憶があるので、操作が共通だからというだけで「viを忍ばせる」というのは言い過ぎではないかという気がする
> まして「vimを忍ばせる」というのは、ちょっとその、まあなんというか…
確かにVimではなくviの模倣だったりして無理があった…。hjklの大元を辿るとどこに辿り着くんだろう(ビル・ジョイの使っていたキーボードとは別?)
新年にもなれば「心機一転で」とか「新しいパソコンを購入したから」とかで何かとパソコンの設定はするものだ。
えっしないの?しとけよ、悪いことは言わないからさ。
パソコンの設定を大幅に変更するときは機種固有障害が起きる可能性もあるし、バックアップは取っておいた方が良い。
バックアップは可能ならばDVDとか光学ディスクメディアにしておこう。長期保存効くし。
そうそう知ってるか?USBメモリのデータってちょっと時間が経つと消えるんだぜ?
【USBメモリー編】放置厳禁!データの“自然蒸発”に要注意:寿命が来なくてもUSBメモリーからデータが消える?《徹底研究 メディアの寿命》 - PC Online(日経BP)
この際さ、やっちゃわない?OSのクリーンインストール。
クリーンインストールの利点は、汚れたシステムを真っ新綺麗に出来るとか、デフラグで改善しきれてなかった断片化をこれまた真っ新に出来るとか、同じエロ画像をいくつも保存してて容量を無駄に食ってたのを解消出来るとか色々ある。
セキュリティ的にも今まで発見されてなかった未知のスパイウェアを根刮ぎ逝くことも出来るし、クリーンインストールによる膨大な読み書きによってハードウェア寿命を浪費するという欠点は利点から考えると小さいので半年に1回くらいはクリーンインストールして損は無いはずだよ。
そして何かあったときにOSのインストール方法を学んでおくってのも大事だと思うんだ。
OSのクリーンインストールが済んだらセキュリティソフトを導入する。
既に有償セキュリティソフトを購入して所有している人は付属しているマニュアルに従って設定しよう。
実はWindows 8と現行のWindows 8.1にはインストールの時点でMicrosoft Windows Defenderと呼ばれるセキュリティソフトがはじめから導入されているからココは飛ばしても問題は少ない。
Windows 7以前、Windows 7、Windows Vista Windows XPなどなどの古いOSのユーザはMicrosoft Security Essentialsを導入しておこう。
Microsoft Security Essentials - Microsoft
http://windows.microsoft.com/ja-jp/windows/security-essentials-download
あえてMicrosoft Windows DefenderやMicrosoft Security Essentialsを切り、オープンソースで開発保守されているClam AntiVirusを導入するのも選択肢としてはアリ。
Clam_AntiVirus - Wikipedia
Windowsで常駐化をしたい場合は補助ツールであるClam Sentinelが必要なので注意。
スパイウェアとか感染する確率を減らすにはそもそも怪しいWebページへアクセスしなければ良いわけで、そういう設定を施す。
詳しいことは面倒なので端折るが名前解決のためのDNSサーバアドレスを変更すりゃ良い。そのサービスがNorton ConnectSafe。
以下のリンクを参考にプライマリ(主に使う側)を199.85.126.10、セカンダリ(プライマリが逝った時の保険)を199.85.127.10にすると設定出来る。
Windows 8 でのDNSサーバー確認方法 - ASAHIネット
http://asahi-net.jp/support/guide/os/0010.html
危険性のあるサイトをはじく『Norton ConnectSafe』は転ばぬ先の杖である - lifehacker(※Macでの設定)
http://www.lifehacker.jp/2014/05/140509norton_connectsafe.html
ちなみにネットワーク上の全てのマシンへ適用したいのならばルータ側のDNSサーバ設定を変更すると良い。
ルータ側で設定するとスマホやセキュリティが怪しい地デジTVのアクトビラ、Nintendo3DSのWebブラウザなどでもNorton ConnectSafeが適用されるようになる。
Wikipediaに書いてあるポルノなどを含むアドレスを設定するとR18なWebページへアクセス出来なくなるので必要に応じ選択すると良い。
小難しいことは省くが当のMicrosoftも認めるクソシステムにSNPというのがある。
当のMicrosoftがクソだと言ってる上にパーソナルユースではそんなに関係無い機能なのに大人の事情なのか何故かデフォルトでは有効になっているから無効にする。
上記のサイトには何か色々高速化情報が載っててWindows7でなくともWindows8やWindows8.1などでは比較的共通点も多いし試してみると良いかも知れない。
これはWindowsのみだけれども・・・というかMacやLinuxでは普通に使われているパッケージ管理システムのWindows板。
パッケージ管理システムに馴染みないWindowsユーザは1行のコマンドで指定した定番のアプリケーションを一気にダウンロードしインストール出来るツールと解釈しておけば良い。
更にChocolatey経由でインストールしたアプリケーションの一括アップデートが可能など高機能。
Windowsアプリをコマンド一発で導入できるパッケージ管理システム「Chocolatey」 - 窓の社
http://www.forest.impress.co.jp/docs/review/20130603_601777.html
Chocolateyを導入したら自分の利用しているWebブラウザやメーラ、動画プレイヤーなどをインストールしてみよう。
色々設定していくのにはやはり日本語入力が不便なのは宜しくない。
ATOKとか有名な高性能日本語入力はあるけれど、ココは定番のGoogle日本語入力で快適にしよう。
おそらくは平均的なパソコンユーザには聞き慣れないだろうSpace and Shift。略称はSandS。
これはSpaceキーを押している間はShiftキーとして働き、Spaceキーを押して離すと空白が入力されるという入力方式だ。
SandSの利点はホームポジションから離れずデフォルトのキーバインドでは遠いShiftをサッと入力出来ること。
親指でShiftキーを入力することになるので、操作感はいわゆる親指シフトなキーボード配列に近いかも知れない(※SandSは設計自体が親指シフトとは違うので同一視してはいけない)。
WindowsでSandSを実現するにはAutoHotkeyを使うのが情報量的にも一番だろう。MacであればKeyRemap4MacBook(Karabiner)を使う。
AutoHotkey SandS -Google検索
KeyRemap4MacBook(Karabiner) - pqrs.org
ついでにこれは好みだがCapsLookキーをCtrlキーへ置き換えたりしても良いかも知れない。
SandSは一度使い始めると病み付きになる。一度は試してみるべき。
あとはChocolateyからよく自分が使うアプリケーションをインストールしたりしてる。
実は互換GUIシェルのbbleanを使ったりもしてるけど基礎の基礎な設定という意味ではなんか違うなと思って掲載はしなかった。
忘れてる部分もあると思うんで「基礎ならコレもじゃね?」ってのを可能ならば書いておいてくれると助かる人も居るんじゃね?と思う。
大学四回生の夏、下宿の扉に「出入禁止」とチョークで大書し、親を呼ばれて精神病院に連れて行かれた。
パソコンを買ってもらったのは小学三年生の冬だった。今でも覚えている。1996年12月2日のことだ。Windows95発売で世間は揺れていた。インターネット回線がうちに来たのは翌97年の1月、これはそこそこ早い導入だったと思う。さらに翌々年の99年にはケーブルテレビで常時接続になった。親には先見の明があったが、しかしパソコンには詳しくなかった。PC-8001も確かそうだ。親はこれが次世代の必需品になると確信して買っていたが、買った一方で使い道が分からなくてオブジェとして放置していた。親はPC-8001をパソコンだと言っていたけれど、僕にとってパソコンはおっきなテレビが標準で付属しているものだったし、マウスもなかったので、それがパソコンだとは到底思えなかった。でも親は言った。今度来るのは違うんだ、オフィスも入っているパソコンなんだ。僕は聞いた。一太郎っていうやつは入ってないの?テレビで言ってたよ、と。親は答えた。オフィスってのは一太郎より機能がスゴイんだよ。僕はへぇ、とだけ言った。どちらにせよペイントは入っているだろう。ペイントなら親戚の家で使わせてもらったことがある。パソコンはお絵かきができるのだ。マウスをカチカチして、キーボードをカチャカチャするのだけが楽しみで、納品の日を一週間ひたすら待った。その頃、漢字の宿題提出が滞っていて、そのままでは居残りでさせられることになっていた。僕は久々に奮起した。いつもは踏み倒していた宿題を、全部一気に終わらせた。家に帰るとパソコンが電気屋さんの手で設置されつつあった。今は亡き、ニノミヤで買われたパソコンであった。
97年にインターネットを始めた。一日一時間まで。実のところ電話代の問題ではなく、一時間ほど使うとブルースクリーンが発生するからだった。一日一時間以上動かすと壊れるから。PC-8001をキッチリ買った親なのに、それぐらいの(?)ITリテラシーであった。ただ別にそれを責めるつもりはない。僕はすぐにアングラサイトに入り浸った。人に飢えていたのだ。普通のチャットには人がいない。テレホタイムにならないと、誰一人ログイン氏亡いのだ。でも、アングラサイトなら四六時中書き込みがある。僕は思う存分厨房行為を楽しんだ。煽り騙りなんかは、小学生がやっても大人がやっても大して変わらないものだ。You is a big fool manという文句をリアルタイムで目にした人は、多くても数百人だっただろう。何千、何万のツイッタラーが押し寄せ、ブクマが1000以上付くような今の炎上とはほど遠い暢気さだ。当時の匿名掲示板とはそういうものだった。誰一人本気で投稿しなかったし、しかし誰一人面白くない書き込みをしようとはしなかった。トイレでもネタを考え、思いつけばすぐに投稿し、ワラタが付くのを待ち続ける。あやしい、あめぞう、あやしい、2ch。人の多いところから人の多いところへ。ワラタが多くもらえる場所へ。気づいたらインパクが終わっていた。
その一方で僕は中高一貫の私立校に入学していた。高校受験がないことから、ネット依存はさらに加速した。しかし2000年を境にアングラ掲示板は衰退の一途をたどり、2ch一強時代を迎えていた。1ch.tvをボコったりするなど楽しいネタがないわけではなかったが、匿名掲示板はネタの宝庫と言うより、本気でちゃんと議論することもできる場所になり始めていた。ちゃんと議論しようとしたらすぐさま崩しにかかるのが2ch隆盛以前の匿名掲示板文化であったが、2003年頃を境にはっきりと潮目が変わっていったように思う。まあその辺はどうでもいい。アングラと非アングラの境目は消え始めていた。
その狭間に、僕は生きていた。
自分で掲示板を設置することにした。けれども何をして良いのか分からない。CGIレスキューに救援要請をして本も買った。Perlだ。Perlしかない。しかしPerlがどうして動いているのかは、全く分からなかった。何十行、何百行もの文字の羅列が、どこでどうなって、掲示板になるのか。インタプリタ?コンパイラ?訳が分からない。そもそもCPUがどうやって動いているのかも分からない。僕にとってプログラムとは、セットアップウィザードでCD-ROMをギュンギュン言わせながらインストールするものであって、掲示板というものは、Teacupで借りるものだったからだ。でもどうやらそうじゃないらしい。コンピューターに翻訳するのがコンパイラです。さっそくコンパイラを使ってみましょう……
お手上げだった。
コンパイラがないのだ。コマンドプロンプトにはない。Linuxを入れる?使い方が分からない。Vine Linuxが初心者にお勧めだった頃の話だ。ボケッとしててもGNomeぐらいは動かせる程度には簡単になっていたが、そこからターミナルを開いてgccでコンパイルするなんて想像も付かないことだった。Hello, Worldはなんとか表示できても、それをGUIで動かす方法が分からない。僕はデスクトップに「Hello, World」のポップアップウインドウを表示させたかったのに。全然訳が分からなかった。
プログラムが動いている方法を知らなければならない。プログラミングを学ばなければいけない。しかし全体像を把握するにはあまりにもほど遠い……。絶望感が支配し始めていた。Hello, Worldはできたけれど、その先が全くわからない。どの参考書を読んでも分からない。ググってもググっても分からない。ポインタで躓く初心者が多いです!……どの本にも書いてあったけれど、僕はポインタどころか、変数の種類がたくさんあるところでお手上げだった。int?char?long???意味不明の文字列が並び続ける。メモリ?メモリって、挿したらいいんじゃないの?確保?fopen????どんなプログラミング言語も、何一つ分からなかった。その頃インターネットは加速し始めていた。切るのが当たり前だったJavascriptが復権し、Ajaxと名を変えてやってきた。掲示板スクリプトもどんどん高機能化し、もはやPerlを知るだけでは何一つできないようになってしまった。苦痛の日々が始まった。どの言語も、全く分からなかった。分からなければならないという焦りが募っていった。
あるとき、一年間ほど、とりあえずお手上げのままにしておくことにした。大学受験が迫ってきたからだった。そして案外あっけなくそれは終わった。僕は某大学の情報科学科に入った。
教授がガイダンスで説明したとおり、情報科学科のプログラミング演習はそれほど多いものではなかった。一回生の時なんか、キーボードを目で追って人差し指で打っている人もいるぐらいだった。学校の授業はアテにならない。そして大学受験でいったん引っ込んだ、とにかく十代でなにかしないと、という焦りが復活してきた。
大学のキャンパスは広すぎた。何をして良いのか全く分からなかった。授業内容はひどくつまらなく、何が役に立つのかも分からず、ただただ苦痛で、キャンパスでサークル活動に打ち込んで楽しく過ごせるほど社交的ではなく、かといってオタク集団に混じる勇気も無く、とにかく、とにかくここで四年間、四年間で何かしないと、何かしないと就職に間に合わない、大学院進学に間に合わない、十代のうちに何か大きな事を成し遂げなければならない。日々研鑽に励み、日々プログラミングスキルを磨き、日々勉強会に参加し、日々コードを書き、日々環境設定をし、日々本を読み、そして日々コードを美しく書かなければならない、そういう焦りだけがどんどん加速していった。大学の生協で片っ端からプログラミングの本を買った。ド初心者向けのPerl本から、美しいコードは何か、みたいな本まで。でも、どれ一つ、僕のスキル向上には役に立たなかった。プログラミングスキルの向上=自分自身の地位=生活の保障、と思っていた自分には、悪夢のような現実だった。
とにかくインターネットと一緒に歩んできた僕にとって、ITスキルはすなわち力であり、むしろITスキル以外は何の価値も持たないもの、と思えるほど脅迫的な観念にとらわれていた。入ってくる情報はさらに増えていった。Cができるのは当たり前、Ruby on Railsがアツい、Java、PHPはもちろんできるよね、MySQLは当然使えるよね、もちろんHaskell、Scheme、Objective-Cもやらなきゃね……何一つできないのに、習得すべき言語だけがどんどん増えていく。加えて美しいコードを書け!という文句が飛んでくる。クソッタレが。何が美しいコードじゃ。goto使ってもいいだろ。好きなだけ使わせろクソッタレが。全部getsで書いてやる。クソが。アルゴリズムアルゴリズム勉強会勉強会ビューティフルコードMacMacMacジョブズジョブズジョブズ……???????????????
それでもなんとか、そう、なんとかなった。友達が優秀だったのだ。僕には到底できないような、きれいに整理されたコードを書く人だった。聞けば在学中から外注のプログラマをやっていて、それなりに稼いでいたのだという。性格はちょっとアレで、風俗に勇気を出して行こうかどうしようか迷ったけどその金でオナホ買ってシコってオナホを床に叩きつけたみたいなヤツだったけれど、そいつからもらったコードを、わざと汚く成形し、変数名も汚らしくし、提出し、なんとかなった。結局自分で最初から最後までプログラムを作ることはできなかった。丸々コピペはしなかったけれど、コピペがなければ卒業は無理だっただろう。
そうして三回生の終わり、試験がどっと押し寄せてきた。一月のことだった。機械学習と……なんだっけ?そういう感じの試験が、2月の初日、行われることになった。三回生はただでさえ試験が多かったが、その大トリこそが機械学習だったのだ。
まるで意味が分からなかった。推論、それは分かる、機械学習?機械に学習??やっていることは数式だしベイズがどうの……まるで分からない。泣きそうだった。三年間必死こいて勉強したり勉強会に行ったりプログラミングスキルを上げようとしたり本を読んだり色々したのに、何一つ得るものは無かったのだ。僕はあやしいわーるどでオマンコ連呼していた頃から、何一つ成長出来なかったのだ。そしてそれは、間違いなく、疑いようがなく、自分のせいだった。自分の頭が悪いせいで。自分の勉強不足のせいで。自分のせいで……コンピュータとともに、十何年も育っていた僕にとって、コンピュータに関するスキルこそが、全ての力の基準だったのに、その全てを否定されたような気持ちだった。プログラミングができなければ、死ぬ。だって、友達はみんな就職して、SEになったりSIerで働いたりネットワーク管理者になったりしてるのに、僕はなんで、こんなところに。そいつらに取り残されるのに。みんな勉強会に出てMacを持ち寄ってハッカソンしてるのに。泊まり込みでプログラミングしたりしてるのに。なんで僕は、fgetsすらマトモに使えず、getsとscanfだけであなたの名前を入力してください オマンコ オマンコさん、こんにちは!みたいなプログラムしか書けないんだ。
大学四回生になった。研究室を選択する必要があったがしなかった。しないでは困るとのことで、適当に書いたらその一番上に配属された。でも一切研究せず、下宿に引きこもって何もしないをした。今日の輪講はここまで進みました!という報告が毎週回ってくるが、まるで研究室では日本語でなくアラビア語が公用語になっているのではないかと思えるぐらいの光景だった。この頃、近所の人の証言によれば、言動がおかしく、訪ねてきた人に暴言で返し、殺す殺すなどの声が聞こえ、時折モノを投げつける音が聞こえたりしたそうだ。まあよく知らない。僕は普通に何もせずぼんやりネットを見ていただけのような気がするけど。
それからしばらく経った。
結局僕は中退した。そして別の大学に入り直した。今度は、工学じゃない別の場所に。みんなキーボードの文字を読みながら指先でキーを叩いている。安心する光景だった。僕らはプログラミングを習わなくてもいい。これから習う必要も無い。タッチタイピングだって、できるに超したことはないだろうけど、できなくてもいい。ただ、そこにある便利なモノを使えば良いだけなのだ。Chromeを使っていて、うっかり開発者向けコンソールを開いてしまっても、何も分からなかったことにして閉じて良いのだ。きっとマクロを書けば、楽ちんに勝手にやってくれるような作業を、人の手で何度もやる。それでいいんだ。マクロを考えるために必死になる必要なんか無い。マウスで右クリック、コピー、ペースト。それでいいのだ。キーバインドすら覚えなくて良い。メモ帳を使ってもいい。viやEmacsのキーバインドを覚えなくてもいい。マウスも使えないようなエディタと格闘する必要は無い。Macを買っても、XCodeやportsを入れる必要は無い。iTunesでiPhoneを同期させて、音楽を聴くだけでいいんだ。
僕はもうプログラミングしないでいいんだ。
それが分かったとき、全てから解放されたような気がした。僕を苦しめ続けたプログラミングというものは消えてなくなった。パソコンでやる作業は、昔と一緒、匿名掲示板にオマンコと書き込むだけだ。それ以上のことをしなくてもいいんだ。勉強会に出てハッカソンする必要は無いんだ。プログラミングスキルを錬磨しないと死ぬなんてのはウソだったんだ。美しいコードを書かないと天罰が下るというのはウソだったんだ。毎日毎日はてブのホッテントリを見てると、プログラミングでマスターしなければならないこと、何何する方法、開発者必須スキル、便利ツール、Macでのアプリ開発、セキュリティ、通信、データベース、勉強会、ハッカソン、そういうもので溢れている。苦しくないのか不思議で仕方ない。もちろんプログラミングをしていて楽しい人もいるんだろう。けれど、僕みたいに、プログラミングという行為が苦痛で苦痛で苦痛でしかない人もいる。たとえ1000回の同じ操作でも、人力でやる方がマクロを書くよりも楽だという人も、ここに存在するのだ。そしてそのような人の存在も当たり前に肯定されるのだ。みんな苦しまなくて良いんだ。誰かが勝手にやってくれればいい。できる人にお金を渡して、僕らはそれを享受するだけで良いのだ。ここでプログラミングという言葉を連呼したけれど、コーディングという言葉との違いとか、そういうのを気にするような人とおつきあいする必要は無いのだ。いずれプログラミングは必須スキルになるとか言われて何年も何年も苦しみ続けてきた。けれど、そんなことをする必要は無いんだ。
それでぶっちゃけここからが本番なんだが、十代でなんとかしないと、という焦りはこないだの青木君の小四なりすましの話に似ている。僕もそうだった。僕らの世代だと登大遊氏なんかが結構輝いてて、ああいう感じにならなきゃ、と思っていた節はある。十代の時になにか成し遂げないといけない、そのためには誰かに認めてもらわなければならないという焦りは、どれくらいの「大人」に理解してもらえることなのだろうか?誰かの承認を得たいという承認欲求を、同じ世代の誰かを使って満たすことができず、むしろ同じ世代の誰かを一緒に引き連れて、承認欲求を満たしてくれる「教祖」にすがりつく。NPOの大学生が「承認」を欲し、政治家が「承認」を与えているのだ。AO入試用の作文?図?みたいなものも見かけたが、「私はリーダーシップがあります!」とか実にくだらないことしか書いていない。しかしそういうものでさえ、学生団体とやらは「承認」してくれる。結局、オウム真理教が丸ごと開けたポジションに、バラックが建ち並び闇市が行われていて、コミュニケーションで自然と得られるはずの承認欲求が、法外な札束で取引されている、そんな感じのような気がする。
意外にブクマが増えていた。PC-8001は俺が産まれる前に買われたもので、ずっとオブジェだったのだ。動くかどうかもわからない。テレビに接続するコードがなかったから。
エディタで。vimのキーバインドで。teratermの背景色で。ログファイルの名称で。変数名で、タブの桁数で。spfileの設定で。jbossの設定のおまじないで。stratsの継承方法で。エラーのクラス名で。プロパティ名で。セッター、ゲッターを付けるかつけないかで。コンストラクタで。newを上書きするかしないかで。jreのeditionで。eclipseの見た目で。javadocのエディションで。クラウンのドキュメントIDで。githubにいくつ持っているかで。tryのインデントで。タブを表示するかしないかで。エディット中の飲み物で。待ち合わせはスタバなのかエクセルシオールなのかで。セブンイレブンのコーヒーのサイズで。そのコンビニのコーヒーが一番うまいかで。IDカードは伸びるストラップがいいのか悪いのか。寝るときは机の下か椅子を並べるのか。デスクの上にフィギュアは置いていいのか悪いのか。めんまかつるこか。
会社で貸与されたパソコンがVISTAだった。Windows触るの、2000以来なんですけど。 今までマカーだったので。久しぶりに触ります。なかなか新鮮。
でも、ずっとまえから不便だなーと思ってたことがそのままでワロタ。あれわざとなんですかね。仕方ないのでautohotokeyで1日がかりでそこそこ使えるものにしました。。
なんというかWindowsの悪いところ全然なおってねーじゃん。レジストリって今でもあるのね。記憶に間違いがなければあれって確かDOS時代の設定ファイルでファイルがでかくなったから仕方なくDBにしたやつでしょ。あんなのまだ使ってるとか。
OSXはそそもそもUN*X環境なので使いやすいが、WIndowsのCygwinは管理者権限いるのね。最小インストールなら入るけどgccすらインストールできないから段々使わなくなった。rrsyncしたいのに。
地味にフォルダを作るショートカットがない。あるけどALT+w - w- f でしたっけ? めんどいわ。そういやドザの人がWin+Dがショートカットで一番便利って聞いたので使ってみたけど元に戻せないワロタ。ウインドウをたたむのはいいけど元に一発で戻らないのか、これ。
そんなんより何が驚いたかって日本語入力のIME切り替えるのにALT + 英数が未だに使われてるのね。あれ罰ゲームか何かだろ、日本のGDP下げようとしてるだろ。今どきトグルwしかもめっちゃキー遠い。
くっそ効率悪いので右ALT=にIMEオン、左ALT=IMFオフを割り当ててた。
仮想デスクトップとかもないし。これはVirtuaWinをを入れたら作業効率が倍増しました。設定がちょっと面倒です。
あとF1とかINSとか間違って押したら面倒なんですけど。これもキーバインドで殺した。一番いらないのがCAPSLOCKだよなあ。まあこれはMacにもあるけどAirみたいに隅っこに追放して欲しい。Aの横はCtrlがいい(キーバインドで直した)
え?大文字ばっかり打つ時がある?そういう時は小文字で書いたあとvimでggVG+U押せば全部大文字になるよ。
あと、ウインド閉じる共通のショートカットないのね。これすごくない? アプリ依存て。イベントはあるのにショートカットはないっていう。仕方ないのでWin+qでウインドウ右上の「x」印を押した時と同じ挙動をするようにしたらすごく便利になった。
マシンがめたくそ重たいので、タイトルバーとかフォントのデザインをXPにい似た感じ(クラシック表示ってやつ?;)にしたらかなり軽くなった。CPU/GPUが追いつかないならそんな機能いらねーよ。なに考えてるんだ。
それから画面ロックがWin+L固定でここれ地味に両手使うのでマウスの中ボダンにバインドしといた。席を立ってからロック忘れに気づいてもマウスをぽちっとするだけでロック状態になる。便利。それからCtrol+Alt+Delをt同時に送信するボタン買った。結構便利。
他にも何か解決してないクソなシ仕様がある気がするけど、今のろまあまあ快適につかえている。前はmayu使ってたけど、AutoHotKeyいいね。
そうそう、キーボードのNumLockをOFFにしてバーチャウインドウの切り替え(1,3,7,9)に使ってるんだけど、(Shift+Numキーだとアクティブウインドウだけ対象デスクトップに送る)これがが直感的ですごく便利。おすすめ。テンキーとして使う時はNumLockをONにするだけ。テンキー頻用 する人には向かないかな?俺はほとんどテンキー使わないので。
==トラバうけて追記==
まあ久しぶりに触ると悪いところが目立つって話ですよ。フォルダ作るのとかShit+Ctrl+Nでいい気はするけどねえ。逆にWindowsはCtrl+Alt+Delのようなシステムに割り込みをかけてマルウェア防いでるけど、Macだと「全画面モードです」とかしかでなくてあれで騙される人居そうで他人ごとながらちょっと心配になる。WinからMacに乗り換えても同じようにDisると思うよ。でもUN*X使いとしてはシェルのコマンドがほぼほぼ使えるMacがいいかなあ、やっぱり。
あと今更VISTA? は俺が一番いいたい。貸与されたものがそうなってて管理者権限ないんだからどうしようにもないだろ。これフォーマッt-して別のOS入れたらそれだけでイントラに繋がらなくなるし。
http://anond.hatelabo.jp/20130327182715
……??
私は、1つ上の候補に戻したい場合はShift-Spaceを押しますが。
また、BSを押す必要があるというのも疑問です。C-hじゃ駄目なんですか?
ちなみに私は我流キーバインド(Alt押しながらキーを押すとvi的な動作をする)の
秀丸使いですけどー。
http://anond.hatelabo.jp/20130327020050 の続き
キーバインドのおかげで、掌を左右に動かす必要が少なく、動きが小さい分速くなります。加えて動きが小さいためホームポジションを維持でき、ブラインドタッチがしやすくなります。
例えば、Enterや矢印キーといった、右手をホームポジションから外す必要のあるキーを押す必要がなくなります。
また、このキーバインドはUNIXのコンソールでのキーバインドが元のため、Linuxのコンソールでも当然使用可能です。
(Tera Termなどターミナルソフト経由の場合は、Metaキーを有効にする必要があることは知っておく必要がありますが)
emacs学習の本はO'REILLYあたりの本で十分です。emacsで何ができるか読み込んでください。
日本語入力の際に、漢字変換を行いますが、候補を変更していく場合、基本はスペースでしょうが、上の候補に戻す場合や誤入力を消す場合に、結局BSや矢印キーを押すことになってしまいます。
折角emacsを用いて,省入力できているのですから、この漢字変換もemacsライクにしてしまえば動きが統一されます。
筆者はIMEとしてATOKを使用しており、以下のような設定をしております。
例)候補確定はC+j、変換候補の異動はC+nやp。連文節変化の移動はC+fやb。誤入力の際はC+hで削除。
※エディタから外れますが、トラックポイントになれることもお薦めします。
マウスと異なり手を動かすこと無く、指だけでマウスの代わりが得られます。
こうしていくと全てが掌の中に収められます。
http://d.hatena.ne.jp/yamasawa8911/20120519/1337407233
だそうなので、俺が思うところを書いておきます。
基本的にMacのほうが羨ましいとは思うけれども(まあ、MacBookとかが欲しいんだよね、きっと)、でもきっとMacなんてフルスペックで使えるわけない。
周りの子に自慢したいとかいうのであるならば、あるいはどうしてもiOSアプリが作りたいというんだったら、それしか選択肢がないけれども、そうじゃないんだったら辞めましょう。
あとWindowsも、Windowsアプリとか、C#をいじりたいんです!っていう話であるならば、それに固辞するのも結構ですけど、そうじゃなくて、ITに行きたいなら、Windowsを捨ててLinuxにしましょう。
自分はGentooが好きですけど、ハードコアすぎるので、Ubuntuのほうがいいかと思う。
Linuxとか難しいんじゃないの……とか思うかもしれないですけど、Ubuntuは素晴らしいです。
Ubuntuは、知り合いの絵師のパソコンに入れたら、わりと好評でちゃんと使っていたので、それなりにパソコンが使えるならば、ちゃんと使えます。
プログラミング言語関係は、そのOSに依存するような環境を使いたいというわけではないのなら、Linuxにしておいたほうが、無難に使えます。
CとJavaでもいいとは思うんだけど、どちらもコンパイルが必要だし、コードを書くのに、ある程度の量(書きたいときに気軽に書くという感じではない、という意味)が必要なので、もう一つ言語を覚えた方がいいです。
PHP、Ruby、Python、Perl、Clojure、Haskell、お好きな言語をどうぞ。
ただ、PHPはどちらかといえばWebアプリケーションよりかな?という気がするので、PerlかRubyかPythonがいいかとは思いますが、お好みで。
自分はPythonのほうが好きですけど、Rubyのほうが割と見つけてもらえる確率は高いかもしれません。
あと、パブリックマンも「Railsでいこう!」というブログ名だったので、尊敬する人にあわせるならRubyのほうがいいんじゃないかと。
こわいおじさんににらまれたいならPerlのほうがいいでしょう。
ちなみに、Ruby on Railsは、割とWebサービスを作るのが楽になります。Herokuとかありますしね。Webアプリケーション周りということだったら、ついでにそのプログラミング言語で使われているメジャーなフレームワークとか調べながら勉強するといいかもしれません。
で、上記を踏まえて、エディタをちゃんと使いましょう。
パワーが有り余っているなら、総合開発環境であるところのEclipseでもいいんだろうとは思うんですけど、それはおっくう、というのならば、ちゃんとエディタの使い方を覚えましょう。
もう既にUbuntuを入れていると思うので、EmacsかVimを使いましょう。Vimのほうが好きではあるんですけど、キーバインドや、その他の癖を考えるとEmacsのほうがいいかなあという気がします。
Ubuntuを入れたなら、Geditというエディタも、Windowsのメモ帳の非じゃないくらい極まったエディタなので、それでもいいです。Windowsがそんなに好きなら、サクラエディタを使うといいでしょう。
あなたはどうやら貧乏だけれども、インターネットは使えているようなので、英語を読む練習をするといいです。
英語なんて全くわからない?ノープロブレム。そんなの適当でいいです。「なんとなくこういう意味かなー」とか、あるいは英語を読むだけでクラクラしない程度でいいと思います。
英語を読めると便利です。少しだけ多くの解説が読めるからです。
あと、英語が読めると「pdf Orailly」という魔法の言葉が使えたりするんですけど、何に使うかは想像におまかせします。
で、上記を踏まえてなんですが、コードを書きましょう。
コードなんて書いてなんぼです。「如何に優秀なハッカーになるべきか」という記事はゴロゴロありますが、そんなのは気休めに読むべきで、まずはコードを書きましょう。
なんだかんだいって、コードを書くのは経験がモノをいいます。量を書きましょう。そして躓きましょう。最初から質なんて無理です。
躓いたら、なんで躓くのか考えましょう。また、「こんなところが、コードを書く点で不満だなあ」と思うことがあれば、それも考えていきましょう。
偉い人がいろんなソリューションを考えてくれています。最初からそのソリューションがなぜ素晴らしいかなんて理解できないとは思います。躓いて始めて「ああ、だからこういう開発手法がいるんだ」ということを理解できるでしょう。
ついでに、コードで躓いたら、その躓いたところを、Twitterアカウントに積極的に発信していきましょう。
そのついでに、そのプログラミング言語を学んでいるTwitterアカウントをフォローしましょう。
あなたの呟いていることによっては、その人は興味を持ってくれるでしょうし、場合によっては手助けをしてくれるかもしれません。
あなたがサービスを立ち上げたら、積極的にRTをしてくれるかもしれません。
だいたいなれてきたところで、自分が作りたいものを作ってみましょう。そして公開してみましょう。できるならGithubで。
Githubに載せる理由は、ソースコードを公開したほうが、突っ込まれる率が高くなり、それに応じて勉強になるというところと、あとはGitというバージョン管理システムの勉強をしていたほうが、のちのちに便利だからです。SVNとかありますが。
あと、コードの引き写しに関しては、ブログに書くか、あるいはコードの断片を載せるという意味で、Gistに載せるという点もありますが、その辺りはご自由に。
VPSを借りてみましょう。あなたが貧乏だというのはわかっています。VPSとは、仮想専用サーバーのことです。
別に最初っから何でも揃ってるようなホスティングサービスでもいいんですが、サーバーを一から立てるという作業は、勉強にもなります。下手な技術書より余程勉強になったりします。
最初から借りると宝の持ち腐れとなると思うので、一つのWebサービスでもいいので、それを自分のマシン内でのみ見られるようなったら、借りるというのは一つの手だと思います。
VPSがつらいというのならば、Herokuとかもありかもしれないです。
コードを書くのが辛いなら、コードを読みましょう。人のコードはアイデアの山です。
自分の場合は、割と実例が無いと、挙動がピンとこなかったりするので、コードを読むことのほうが多いです。
特に、その言語で有名なライブラリとかいいかもしれません。ガンガン読みましょう。
あとは若さでなんとかなるでしょう。
ついでに、この文章を「テメーはなんにもわかってねえんじゃボケ」という言い方をして修正してくれる人もいると思うので、そういう人のアドバイスも真摯に受けとりましょう。