On Mon, May 7, 2018 at 5:28 PM, Yuri Khan wrote: > On Mon, May 7, 2018 at 8:59 PM Jarosław Rzeszótko > wrote: > > > It is surprisingly hard to do this in Emacs […] > > You can use dired, but I personally find it to be a distraction for this > use case. > > Why? > I personally most often want this when working on a programming project, I have a bunch of files open and I am in the middle of a planned sequence of changes, popping up a new buffer and dealing with dired which I do not otherwise use much breaks my concentration. It is hard to explain this fully rationally, but judging by how many .emacs, libraries, wiki pages etc. I have seen that have rename-file-and-buffer in them I am not the only one. Note that an interactive delete-file function already exists, but it doesn't kill the associated buffer. That's why I consider it a gap in the Emacs set of functions. There are three sets of operations: file operations (rename-file, delete-file), buffer operations (rename-buffer, kill-buffer) and some file+buffer operations (set-visited-file-name). It would be nice if there was some unity among the three sets, so that it would be possible to do the common operations in all three ways (file/buffer/file+buffer), and that the naming is reasonably consistent. Of course backwards compatibility is an issue as always. > [...] > > A very similar related pain point is that it is hard to get the path and > directory of the current buffers visited file. > > Your favorite binding of ‘find-file’, followed by your preferred method to > get the current line to clipboard. (This breaks if you ‘cd’ to a different > directory while editing a file.) > This is not that easy if you use a completion system like ivy or ido. It's also not nice from an elisp standpoint, that for the two strongly related things, one is accessible only as a variable and the other either as a command or function. > > > Finally, while we are discussing functions everyone re-implements in > their .emacs, please lets make transpose-windows happen as an Emacs builtin > :) > > You mean the windcycle library? > I mean: https://github.com/bbatsov/crux/blob/master/crux.el#L471 https://www.emacswiki.org/emacs/TransposeWindows Sure there are packages to do this, it just seems strange among the many built-in window functions there is no transpose. Again, you will easily find very many .emacs on the web implementing a function like this, which for me looks like a bit of gap in what is provided out-of-the-box. Cheers, Jarosław Rzeszótko On Mon, May 7, 2018 at 5:28 PM, Yuri Khan wrote: > On Mon, May 7, 2018 at 8:59 PM Jarosław Rzeszótko > wrote: > > > It is surprisingly hard to do this in Emacs […] > > You can use dired, but I personally find it to be a distraction for this > use case. > > Why? > > I think of deleting, renaming and moving as operations on the file as a > whole and not on its content, so saving the file and going “outside” it is > the intuitive first step for me. ‘dired-jump’ takes me to the Dired buffer > of the enclosing directory and puts point on the file. It’s on C-x C-j by > default, but I bind it on so my fingers think going “outside” is a > single spatial movement. > > If I want to delete the file, I press D and confirm. To rename, I press R > and enter the new name; the buffer is renamed automatically. > > When copying or moving files, I prefer to see the target directory before I > do it. So, I split the window, switch there, navigate to the target > directory, switch back, R (or C to copy), RET (because with > ‘dired-dwim-target’ set to non-nil the target directory is automatically > suggested as the default), then deal with any changes to the window > configuration. > > Note here the DWIM behavior: R suggests the directory in the other window, > but if there is no other window, then the current directory. > > > A very similar related pain point is that it is hard to get the path and > directory of the current buffers visited file. > > Your favorite binding of ‘find-file’, followed by your preferred method to > get the current line to clipboard. (This breaks if you ‘cd’ to a different > directory while editing a file.) > > > Finally, while we are discussing functions everyone re-implements in > their .emacs, please lets make transpose-windows happen as an Emacs builtin > :) > > You mean the windcycle library? >