github.com/xiaq/elvish@v0.12.0/website/src/home.md (about) 1 **Elvish** is a friendly and expressive shell for Linux, BSDs, macOS and 2 Windows. 3 4 <!-- 5 <pre id="demo-debug"> 6 </pre> 7 --> 8 9 <ul id="demo-switcher"> 10 <li id="demo-js-warning"> 11 Enable JavaScript for the option of showing demos as slides. 12 </li> 13 <li id="demo-expander-li" class="no-display"><a id="demo-expander">↧</a></li> 14 </ul> 15 16 <div id="demo-window"> <div id="demo-container" class="expanded"> 17 <div class="demo-wrapper"> <div class="demo"> 18 <div class="demo-col left"><div class="demo-ttyshot"> 19 $ttyshot pipelines 20 </div></div> 21 <div class="demo-col right"> <div class="demo-description"> 22 <div class="demo-title">Powerful Pipelines</div> 23 <p> 24 Text pipelines are intuitive and powerful. However, if your data have 25 inherently complex structures, passing them through the pipeline 26 often requires a lot of ad-hoc, hard-to-maintain text processing code. 27 </p> 28 <p> 29 Pipelines in Elvish can carry structured data, not just text. You can 30 stream lists, maps and even functions through the pipeline. 31 </p> 32 </div> </div> 33 </div> </div> 34 35 <div class="demo-wrapper"> <div class="demo"> 36 <div class="demo-col left"><div class="demo-ttyshot"> 37 $ttyshot control-structures 38 </div></div> 39 <div class="demo-col right"> <div class="demo-description"> 40 <div class="demo-title">Intuitive Control Structures</div> 41 <p> 42 If you know programming, you probably already know how 43 <code>if</code> looks in C. So why learn another syntax? 44 </p> 45 <p> 46 Control structures in Elvish have an intuitive C-like syntax. 47 </p> 48 </div> </div> 49 </div> </div> 50 51 <div class="demo-wrapper"> <div class="demo"> 52 <div class="demo-col left"><div class="demo-ttyshot"> 53 $ttyshot location-mode 54 </div></div> 55 <div class="demo-col right"> <div class="demo-description"> 56 <div class="demo-title">Directory History</div> 57 <p> 58 Is <code>cd /a/long/nested/directory</code> the first thing you 59 do every day? Struggling to remember where your logs and 60 configurations? 61 </p> 62 <p> 63 Elvish remembers where you have been. Press Ctrl-L and search, like in a 64 browser. 65 </p> 66 </div> </div> 67 </div> </div> 68 69 <div class="demo-wrapper"> <div class="demo"> 70 <div class="demo-col left"><div class="demo-ttyshot"> 71 $ttyshot histlist-mode 72 </div></div> 73 <div class="demo-col right"> <div class="demo-description"> 74 <div class="demo-title">Command History</div> 75 <p> 76 Want to find the magical <code>ffmpeg</code> command that you used to 77 transcode a video file two months ago? 78 </p> 79 <p> 80 Just dig through your command history with Ctrl-R. Same key, more 81 useful. 82 </p> 83 <p> 84 (To be fair, you can do this in bash with <code>history | grep 85 ffmpeg</code>, but it's far fewer keystrokes in Elvish :) 86 </p> 87 </div> </div> 88 </div> </div> 89 90 <div class="demo-wrapper"> <div class="demo"> 91 <div class="demo-col left"><div class="demo-ttyshot"> 92 $ttyshot navigation-mode 93 </div></div> 94 <div class="demo-col right"> <div class="demo-description"> 95 <div class="demo-title">Built-in File Manager</div> 96 <p> 97 Power of the shell or convenience of a file manager? 98 </p> 99 <p> 100 Choose both. Press Ctrl-N to quickly navigate directories and preview 101 files, with full shell power. 102 </p> 103 </div> </div> 104 </div> </div> 105 </div> </div> 106 107 <link href="/assets/home-demos.css" rel="stylesheet"> 108 <script src="/assets/home-demos.js"></script> 109 110 # Getting Elvish 111 112 Elvish is still in development, but has enough features and stability for 113 daily use. 114 115 * [Download](/download/) prebuilt binaries if you are running Linux or macOS on 116 an x86-64 CPU. 117 118 * Source code is available on the [GitHub repository](https://github.com/elves/elvish). 119 120 # Speaking Elvish 121 122 * [Learn](/learn/) to speak Elvish by following tutorials. 123 124 If you are not experienced with any shell, start with the 125 [fundamentals](/learn/fundamentals.html). (This tutorial is still a work in 126 progress, though.) 127 128 If you come from other shells, read the [cookbook](/learn/cookbook.html) 129 to get started quickly, and learn about Elvish's [unique 130 semantics](learn/unique-semantics.html). 131 132 * [Reference](/ref/) documents describe Elvish in a more formal and complete 133 way. 134 135 Read about the [philosophy](/ref/philosophy.html), the 136 [language](/ref/language.html), the [builtin module](/ref/builtin.html), and 137 more. 138 139 * [The blog](/blog/) contains news on Elvish. 140 141 It is the place for release notes, notes on the internals of Elvish, and 142 other announcements or musings from the developers. 143 144 * [The feed](/feed.atom) contains updates to all sections of the website (not 145 just the blog). 146 147 * [Follow](https://twitter.com/RealElvishShell/) Elvish on Twitter. 148 149 # Meeting Other Elves 150 151 * Join [#elvish](https://webchat.freenode.net/?channels=elvish) on Freenode, 152 [elves/elvish-public](https://gitter.im/elves/elvish-public) on Gitter, or 153 [@elvish](https://telegram.me/elvish) on Telegram. 154 155 The wonderful [fishroom](https://github.com/tuna/fishroom) service 156 connects all of them together. So just join whichever channel suits you 157 best, and you won't miss discussions happening in other channels. 158 159 * If you are interested in contributing to Elvish, you can also discuss at 160 [#elvish-dev](http://webchat.freenode.net/?channels=elvish-dev) on 161 freenode, [elves/elvish-dev](https://gitter.im/elves/elvish-dev) on Gitter 162 or [@elvish_dev](https://telegram.me/elvish_dev) on Telegram. 163 164 * Chinese speakers are also welcome in 165 [#elvish-zh](https://webchat.freenode.net/?channels=elvish-zh) (Freenode) 166 and [@elvish_zh](https://telegram.me/elvish_zh) (Telegram). There are 167 also [#elvish-dev-zh](https://webchat.freenode.net/?channels=elvish-dev-zh) 168 (Freenode) and [@elvish_dev_zh](https://telegram.me/elvish_dev_zh) (Telegram). 169 170 * The [issue tracker](https://github.com/elves/elvish/issues) is the place 171 for bug reports and feature requests.