I've been using TextMate for years and I'm productive and happy with it. However, I like to try other editors from time to time to see if I'm missing anything. Recently I spent some time learning Vim and I discovered a few things that I particularly liked.
1) Split windows -- not the kind of split windows you normally get in Mac applications, but the Vim style ones. In Vim you can easily navigate from the keyboard to your different splits and choose what files to display in each. Additionally, you don't have to reach for your mouse to create a split. When you split, Vim divides the space up for you which is what you want most of the time. I found that it is very handy when needing to view more than 1 file at a time, which in my case is most of the time. Closing splits is about as easy as they are to create -- all from the keyboard. Multiple windows isn't really the same thing because they are slow to setup and tear down.
2) Selective multifile grep -- in Vim you can use a regular expression to open a set of files, and then just grep across the open files.
3) Don't need arrow keys -- after years of editing with the mouse; I find it painful to reach for it. It hurts my right shoulder and shoulder blade. It even hurts to have to move my hand down to the arrow keys. However, in Vim it is easy to keep your hands resting on your keyboard with your shoulders relaxed. No reaching for the mouse or arrow keys.
TextMate 1 or 2, is there a way to auto-highlight all occurrences of
selected word?
I was from Windows using EditPlus, when I double-click or Ctrl+W to select
a word, EditPlus is able to automatically highlight all occurrences in a
different background colour, very nice and useful feature.
With TextMate I have to additionally hit Opt+Cmd+F, and highlighting colour
is same as selected word, not eye-catching. I use 'soft' and light
background for selection background but I prefer bright background (eg
yellow) for highlighted words.
Ctr-S not really meets what I need.
Thanks.
--
Sent from my mobile. Ignore the typos unless they're funny.
I've used Whitesmith bracing style for *decades*, and had it kinda-sorta working in TM 1.5.x, though not perfectly. Now I've lost those old settings and for the life of me can't figure out how to get it even close in 2.0. There's clearly something fundamental that I'm missing, but I've spent hours on this off and on over the past few months, and I'm guessing that someone who really understands the rules (and regex) better than I, could get me on the right path in short order. I'd definitely appreciate it.
For those (unfortunate souls) who are not familiar with Whitesmith:
http://en.wikipedia.org/wiki/Indent_style#Whitesmiths_style
Also, just as a general suggestion, it seems like it would be really helpful to have just a handful of "packaged" example indentation rules for the small handful of common bracing styles, i.e. Allman, K&R, Whitesmith, maybe Gnu. Of course it wouldn't be perfect for everyone, but it could be really helpful as a starting point. If you know of such a set of examples, please point me to them (yes, I've looked). Thanks!
I tried to open a folder in TextMate today (one I open often) and it
crashed. (It was already running, as always.) Ever since, I’ve been
unable to get it to launch.
It detects the crash and asks about restoring open documents. It crashes
no matter what I choose there.
I haven’t changed any preferences or bundles or installed any updates
today.
I’ve tried:
* `defaults delete com.macromates.TextMate.preview.LSSharedFileList`
* `defaults delete com.macromates.TextMate.preview`
* `mv ~/.tm_properties ~/foo`
* trashed `~/Library/Saved Application
State/com.macromates.TextMate.preview.savedState`
* trashed `~/Library/Caches/com.macromates.TextMate.preview`
* restored `~/Library/Applicaiton Support/Avian` and `TextMate` from
a backup taken this morning
* downloaded the app again from the web site
* tried an older version (beta 7.3)
* rebooting, like a poor beleaguered Windows user
The only thing that *did* work was launching it as a different user, so
it’s something with my account, but what’s left?
I haven’t tried deleting all my bundles, but from the dates, I don’t
think any have changed since March.
From the crash log:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_platform.dylib 0x00007fff94e40331
_platform_memmove$VARIANT$Ivybridge + 49
1 com.macromates.TextMate.OakTextView 0x000000010f92dfe1
oak::callbacks_t<ng::callback_t, false>::remove(ng::callback_t*) + 105
2 com.macromates.TextMate.OakTextView 0x000000010f8feeea
-[OakTextView setDocument:] + 437
3 com.macromates.TextMate.OakTextView 0x000000010f8f0584
-[OakDocumentView setDocument:] + 643
4 com.macromates.TextMate.OakTextView 0x000000010f8f01f4
-[OakDocumentView dealloc] + 457
5 libobjc.A.dylib 0x00007fff9676389c
objc_object::sidetable_release(bool) + 236
6 libobjc.A.dylib 0x00007fff96749e8f (anonymous
namespace)::AutoreleasePoolPage::pop(void*) + 575
7 com.apple.CoreFoundation 0x00007fff93a6b6f2
_CFAutoreleasePoolPop + 50
8 com.apple.Foundation 0x00007fff89f13762
-[NSAutoreleasePool drain] + 153
9 com.apple.Foundation 0x00007fff89f2d5cc
_NSAppleEventManagerGenericHandler + 121
10 com.apple.AE 0x00007fff8d45934c
aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned
char*) + 531
11 com.apple.AE 0x00007fff8d4590c9
dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 31
12 com.apple.AE 0x00007fff8d458fd3
aeProcessAppleEvent + 295
13 com.apple.HIToolbox 0x00007fff90935c6e
AEProcessAppleEvent + 56
14 com.apple.AppKit 0x00007fff8e357da2 _DPSNextEvent
+ 2249
15 com.apple.AppKit 0x00007fff8e356e58
-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 346
16 com.apple.AppKit 0x00007fff8e34caf3
-[NSApplication run] + 594
17 com.apple.AppKit 0x00007fff8e2c9244
NSApplicationMain + 1832
18 com.macromates.TextMate.preview 0x000000010f533f19 main + 840
19 com.macromates.TextMate.preview 0x000000010f51e914 start + 52
Thanks!
--
Rob McBroom
http://www.skurfer.com/
Hello
I use a lot of variables with @ in their names like
\rput@temp but a double-click on \rput@temp selects only
rput or temp. With TM1 I had the possibilities to
change but how can I do with TM2?
Thanks,
Best Regards,
Alain
Hi everyone,
I want to fold the following 'code'
# Section 1 ----
for (i in 1:30) {
y = i+1
}
# Section 2 ----
# a comment
x = y + 1
y = y^2
if (foo) {
a = b
for (j in 1:3) {
b = b + 1
}
}
# Section 3 ----
b = c
to fold in the following way:
- "sections" in the code are defined by #something----, everything
between two section titles should fold when the folding marker of the
title line is clicked
- blocks are defined with { (and a few other markers) and should fold
as expected.
With the following rules I can almost make it work
{
foldingStartMarker = '\{';
foldingStopMarker = '\}';
foldingIndentedBlockStart = '^#(.*?)\-{4,}';
foldingIndentedBlockIgnore = '^(?!#(.*?)\-{4,})';
}
the blocks fold, respecting nesting, the sections fold up to the next
section, *except* for section 1; there, the `for` block is not
indented and is at the same level as the section, therefore folding at
section 1 only folds until the start of the for block, not all the way
down to section 2.
It looks like I am searching for a way to the `foldingIndentedBlock`
rule to take precedence over the `foldingStartMarker` rule. Is it
possible?
To make it easy to take a stab at it, I created a new bundle and a
test file (the language is "testing") which you can get there:
https://dl.dropboxusercontent.com/u/1047321/Test.zip
PS: having comments which define sections in the code seems like a
general use case. The syntax is in that particular example is defined
in the R language by the RStudio IDE. This IDE is becoming common
enough that I am receiving code formatted this way a lot.
Thanks in advance for your help!
I’m trying to integrate ternjs [0] into Textmate and am running into problems:
* if I use #!/usr/bin/env ruby18 -wKU I can’t
require(‘json’)
in my script, it gives me a loadError
* if I use #!/usr/bin/env ruby
then the lib/ui.rb message dialog won’t work because it utilises an old osx-plist function [1].
I even managed to recompile the old plist thing and made it work, but it won’t work when forked [2] with an error
dyld: lazy symbol binding failed: Symbol not found: _rb_gc_writebarrier_unprotect
Expected in: flat namespace
Can anyone give me pointers into a direction?
Textmate Bundle development is so frustrating :(
Thanks
Fabian
[0] ternjs.net/doc/manual.html
[1] https://stackoverflow.com/questions/6869463/in-textmate-i-cant-create-parti…
[2] https://github.com/textmate/bundle-support.tmbundle/blob/master/Support/sha…